Linux/Unix 桌面趣事:終端上的聖誕樹

Vivek Gite發表於2016-02-01

給你的Linux或Unix控制檯創造一棵聖誕樹玩玩吧。在此之前,需要先安裝一個Perl模組,命名為Acme::POE::Tree。這是一棵很喜慶的聖誕樹,我已經在Linux、OSX和類Unix系統上驗證過了。

安裝 Acme::POE::Tree

安裝perl模組最簡單的辦法就是使用CPAN(Perl綜合典藏網(Comprehensive Perl Archive Network))。開啟終端,把下面的指令敲進去便可安裝Acme::POE::Tree。

### 以root身份執行 ###
perl -MCPAN -e 'install Acme::POE::Tree'

示例輸出:

Installing /home/vivek/perl5/man/man3/POE::NFA.3pm
Installing /home/vivek/perl5/man/man3/POE::Kernel.3pm
Installing /home/vivek/perl5/man/man3/POE::Loop.3pm
Installing /home/vivek/perl5/man/man3/POE::Resource.3pm
Installing /home/vivek/perl5/man/man3/POE::Filter::Map.3pm
Installing /home/vivek/perl5/man/man3/POE::Resource::SIDs.3pm
Installing /home/vivek/perl5/man/man3/POE::Loop::IO_Poll.3pm
Installing /home/vivek/perl5/man/man3/POE::Pipe::TwoWay.3pm
Appending installation info to /home/vivek/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod
  RCAPUTO/POE-1.367.tar.gz
  /usr/bin/make install  -- OK
  RCAPUTO/Acme-POE-Tree-1.022.tar.gz
  Has already been unwrapped into directory /home/vivek/.cpan/build/Acme-POE-Tree-1.022-uhlZUz
  RCAPUTO/Acme-POE-Tree-1.022.tar.gz
  Has already been prepared
Running make for R/RC/RCAPUTO/Acme-POE-Tree-1.022.tar.gz
cp lib/Acme/POE/Tree.pm blib/lib/Acme/POE/Tree.pm
Manifying 1 pod document
  RCAPUTO/Acme-POE-Tree-1.022.tar.gz
  /usr/bin/make -- OK
Running make test
PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/01_basic.t .. ok
All tests successful.
Files=1, Tests=2,  6 wallclock secs ( 0.09 usr  0.03 sys +  0.53 cusr  0.06 csys =  0.71 CPU)
Result: PASS
  RCAPUTO/Acme-POE-Tree-1.022.tar.gz
Tests succeeded but one dependency not OK (Curses)
  RCAPUTO/Acme-POE-Tree-1.022.tar.gz
  [dependencies] -- NA

在Shell中顯示聖誕樹

只需要在終端上執行以下命令:

perl -MAcme::POE::Tree -e 'Acme::POE::Tree->new()->run()'

示例輸出

Gif 01: An animated christmas tree in Perl

Gif 01: 一棵用Perl寫的喜慶聖誕樹

樹的定製

以下是我的指令碼檔案tree.pl的內容:

#!/usr/bin/perl

use Acme::POE::Tree;
my $tree = Acme::POE::Tree->new(
{
  star_delay => 1.5,  # shimmer star every 1.5 sec
  light_delay => 2,   # twinkle lights every 2 sec
  run_for => 10,      # automatically exit after 10 sec
}
);
$tree->run();

這樣就可以透過修改stardelay、runfor和light_delay引數的值來自定義你的樹了。一棵好玩的終端聖誕樹就此誕生。


via: http://www.cyberciti.biz/open-source/command-line-hacks/linux-unix-desktop-fun-christmas-tree-for-your-terminal/

作者:Vivek Gite 譯者:soooogreen 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

相關文章