15
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ターミナルにイカロス

Posted at

 こんにちは。初投稿です、どもも。

 自宅のサーバにターミナルでsshログインしたときに、「ようこそー」みたいなことを言ってほしいなあというのがあって、AAを表示させるのは以前からしてたんです。(寂しい人間とか言わない)
/etc/motdにAAをコピるって方法で。
でもAAだとフォントによって盛大にずれて残念なきもちになったりします。

 でまあ多少ずれてもいいかってしばらく妥協してたんですけど、そういやドット絵だったらいい感じに表示できるんじゃないかと最近思って。調べてみたら、あったあった。

 ANSI escape codeという見えない文字で文字色とか背景色とか変えれるんですね。それで半角スペースに色をつけてやると。
コードとして定義されてるのは16色までっぽいですが、xterm-256などターミナルの設定を256色向けにしてれば\033[48;5;{num}mみたいな形で表示もできるとのこと。

http://en.wikipedia.org/wiki/ANSI_escape_code

 ということで、プログラムを作ってみました。画像を読み込んで、その画素のRGBデータをANSI escape codeに変換して表示します。言語はRuby。覚えたてなので変な書き方してるところがあるかもですがご容赦を。

 画像読み込みにRMagickを使ってます。ほんとは使わずに画像形式判断して画素データとってくることを考えていたけど、楽だしとりあえずこれで。

ikaros.png ←読み込む画像はこちら。システムカラーだけ使って無理やり作ったからちょっと色が変ですが。

 あとは実行コマンドを.bash_profileなり.zprofileなりに埋め込んで起動させてやれば、わーい
sc_140427_01.png
 「そらのおとしもの」のイカロスとスイカがこんにちはしてくれました!これでGWも寂しくないね!?

 256色もいけた
sc_140427_02.png

そらのおとしもの、好きなんですがついこの間劇場版が公開されたので、楽しみです。胸のベルが鳴るー

15
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?