私にとって XNUMX番目の投稿.. ..私はあなたに(一部の人はまったく役に立たないと思うかもしれない何か)を 色を変える 私のお気に入りのスクリーンセーバー(スクリーンセーバー、スクリーンセーバー)の xscreensaver, GLマトリックス、あなたが知らない場合は、美しい3D効果を備えたマトリックススタイルでモニターを通過する典型的なシンボルのシミュレーターです。 これが画像です:
私はかなり迷惑です、そして私のコンピュータは黒と特徴的な青の色でカスタマイズされています アーチのLinux (これは私の青いバックライト付きキーボードxDで見栄えがします)....典型的な 緑色 マトリックスの、それは私を結合しません(またはそれがこのあたりでそして子供たちの間で言われるように、それは粘液でさえヒットしません)。
これを達成するために、 干渉する xscreensaverのソースコードでは、経験の浅い人を慌てる必要はありません。簡単です。 ステップバイステップガイド 彼らがそれを達成するために; これで私はあなたに言いたいのですが、私はすでに噛んだものを残すつもりはありませんが、それは アイデアは彼らが飲み物を飲んで手を置くということです..恐れずに。
やってみましょう..
1-xscreensaverのソースコードをダウンロードします。
xscreensaverページに入ることができます。 ダウンロードします の最新バージョン ソースコード (ソースコード)。
または私たちはすることができます 直接ダウンロード から ターミナル とともに wgetの、常に知っている それのバージョン、 この場合 5.20:
$ wget http://www.jwz.org/xscreensaver/xscreensaver-5.20.tar.gz
解凍します:
$ tar -xf xscreensaver-5.20.tar.gz
2-依存関係を確認します。
を持っていることを確認します 必要なパッケージ xscreensaverを使用できるように、 このために、「configure」を使用します。 しなければならない 注意を払う 出口で(出力)彼らが私たちに与えること、私たちが 一部のパッケージがありません、またはいくつかあります エラー。 パッケージが見つからない場合は、それを探してダウンロードします(synaptics、apt、pacmanなどを介して行うことができます-好みやディストリビューションによって異なります)。
-新しく解凍したフォルダに入ります:
$ cd xscreensaver-5.20/
以下を実行します。
$ ./configure
3-正しい動作を確認します。
不足しているパッケージがない場合、または 間違いありません; に進みます インストール xscreensaver、正しく機能することを確認します。
実行します:
$ make
メーカーとして、メーカーとしてエラーがない場合 'ルート' インストールします:
# make install
テスト:
$ xscreensaver-demo
4- / hacks / glx / glmatrix.cを変更します
彼らは彼らと話します テキストエディター 私が見た私の場合のお気に入り(vim、nano、geditなど)、この場合に変更するファイル:
$ vi ./hacks/glx/glmatrix.c
彼らは見つける必要があります ブロック 次のように 形状:
{
unsigned long p = XGetPixel (xi, x, y);
unsigned char r = (p >> rpos) & 0xFF;
unsigned char g = (p >> gpos) & 0xFF;
unsigned char b = (p >> bpos) & 0xFF;
unsigned char a = g;
g = 0xFF;
p = (r << rpos) | (g << gpos) | (b << bpos) | (a << apos);
XPutPixel (xi, x, y, p);
}
Y 我々が追加します 次のように希望の色:
{
unsigned long p = XGetPixel (xi, x, y);
unsigned char r = (p >> rpos) & 0xFF;
unsigned char g = (p >> gpos) & 0xFF;
unsigned char b = (p >> bpos) & 0xFF;
unsigned char a = g;
r = 0x71;
g = 0x93;
b = 0xD1;
p = (r << rpos) | (g << gpos) | (b << bpos) | (a << apos);
XPutPixel (xi, x, y, p);
}
にいる RGBヘキサデシマル (赤-緑-青)
例えば、の特徴的な青 アーチのLinux 彼は: #1793D1、残り:
r=0x71;
g=0x93;
b = 0xD1;
私たちは保つ 変更。
5-変更されたglmatrixを使用して新しいxscreensaverを再コンパイルします。
この時点で、実質的に同じことを行います。 ポイント2、しかし今回は私たちが行った変更をキャプチャします。
実行します:
$ make clean
次に:
$ make
makeでエラーが発生しなかった場合、ユーザーとして 'ルート' 実行します:
# make install
6-実行、検証、構成、および楽しみます。
実行します:
$ xscreensaver-demo
リストから選択します GLマトリックス:
そして、プレゼンテーションでは、それは彼らが選んだ色ですでに見られるはずです。
味わうように設定..と 楽しい 😉
7-異なる色のいくつかの例。 (+ヒント)
先端: 知るために カラー en 16進数 私が使う GIMP、カラーパレットと図を開きます。 「HTML表記」。 'を押すこともできますo'そして、画像の色を取得して、その色がXNUMX進数で何であるかを確認します。
私が試したり書いたりしたのと同じくらい楽しんでいただけたと思います。ご不明な点がございましたら、お気軽にお問い合わせください。
ハッピーハッキング..
まあ、それがきれいに見えてすべてであるならば、しかし古典的な緑色のようなものは何もありません。
コメントありがとうございます....クラシックがクラシックであることは明らかです..
しかし、これについて(少なくとも私にとって)最も面白いことと、それを実行するように促した理由は、ソースコードが目の前にあることは、「Linuxを持っているので、どのように変更したいのか」と言っているようなものだということです。 。..mayl!.. "。。
読んでくれてありがとう..😉
スクリーンセーバーのような初歩的または単純な主題について、私たちはそれのコンパイル、変更、およびインストールのクラス全体を行うことになると想像したであろう優れた記事。
ありがとう!....興味を持ってくれてうれしいです..
私にとって、それはかなりの学習のオデッセイでもありました;)..
使用との違いはありますか?
$ sudo pacman -S xscreensaver
どの部分について?.. ..ポイント2と3を参照して、それが機能するかどうかを確認する場合.. Archを使用する場合は、同じです..常に最新バージョンを使用しているため、.. ..他のディストリビューションは同じではないかもしれません..
一方、ソースコードをダウンロードしないと、この投稿の目的である色の変更を行うことができませんでした。
私はあなたの質問に答えましたか?
ヒントをありがとう^ _ ^
誠にありがとうございます。
手順は非常に興味深いものです。
ご挨拶!
貢献してくれてありがとう😀
変更したモデルを赤で共有することはできますか? ありがとう