Wayland 環境における自動壁紙切り替え
LabWC ウィンドウマネージャーに切り替えてから、デスクトップのウィジェットをすべて自分でカスタマイズしましたが、使うほどに気に入っています。
しかし、完全に満足できない点が2点あります。
-
- アクティブウィンドウを
alt-tabで切り替えてもサムネイルが表示されないため、見た目で判断した後に画像を素早く選択するのが不便です。
- アクティブウィンドウを
-
- 壁紙ソフトウェアが自動で切り替わりません(厳密に言えば、これはLabWCとは関係ありません。壁紙ソフトウェアはswaybgで、こちらは手動で選択しています)。
私は通常、1つ目の問題についてはステータスバーをクリックして選択していますが、キーボードから手が離れるため効率が悪くなるという欠点があります。ただし、かろうじて許容できる程度です。
この記事では2つ目の問題について取り上げます。Waylandには実際には多くの壁紙プログラムがあり、それぞれに異なる焦点と設計意図を持っています。
以下にリストします。
-
swaybg 画像を静的な壁紙として選択できます。
-
swww 高評価で、やや強力です。壁紙としてカラーを使用でき、個々の画像に対して様々な操作を実行でき、切り替えプロセス中のエフェクトを制御できますが、自動切り替えには別のスクリプトが必要です。
1➜ ~ swww --help
2Wayland の壁紙に関する悩みを解決
3
4実行時に swww デーモンを制御することで、モニターの背景表示を変更できます。アニメーション GIF をサポートし、モニターごとに異なるコンテンツを配置できます。また、リソース効率を可能な限り高めるよう最善を尽くしました。
5
6`swww` は、レイヤーシェルプロトコルを実装したコンポジターでのみ動作します。通常は wlr-roots ベースのコンポジターです。
7
8使用方法: swww <コマンド>
9
10コマンド:
11clear 指定された出力を指定された色で塗りつぶします
12img デーモンに表示するための画像(またはアニメーションGIF)を送信します
13init デーモンを初期化します
14kill デーモンを終了します
15query デーモンに出力情報(名前とサイズ)の出力を指示します
16help このメッセージ、または指定されたサブコマンドのヘルプを表示します
17
18オプション:
19-h, --help
20ヘルプを表示します('-h' で概要を参照できます)
21
22-V, --version
23
24バージョン情報を表示します
-
mpvpaper これはちょっと突飛なものです。mpv を使ってビデオを壁紙として再生します。企業のプロモーションや特定のユーザーグループに適しているかもしれません。
-
wpaperd まだ開発中です。個人的には、ロジックがシンプルで明確なので、こちらを選びました。鍵となるのは、壁紙ディレクトリ(壁紙画像を含む)を設定し、一定間隔でランダムに壁紙を変更できる機能です。まさに私が求めていた機能です。そのため、このツールの使用をお勧めします👍。
1. インストール
- ダウンロードとコンパイル
1
2$ git clone https://github.com/danyspin97/wpaperd
3
4$ cd wpaperd
5
6$ cargo build --release
- プログラムをターゲットのPATHディレクトリに追加
コンパイル後、wpaperctl と wpaperd という2つのバイナリプログラムが作成されます。簡単に実行できるように、これらを /usr/local/bin に配置してください。
前者は制御プログラムで、後者はデーモンプロセスです。これはよくある方法で、どれも馴染みのある操作です。
2. 設定ファイル
設定ファイルディレクトリを作成したら、設定を調整します。私の例は以下の通りです。
``shell mkdir /home/mephisto/.config/wpaperd/
➜ ~ cd .config/wpaperd
➜ wpaperd pwd /home/mephisto/.config/wpaperd
➜ wpaperd cat wallpaper.toml
[default] path = "/home/mephisto/Pictures/Wallpapers/"
duration = "30m"
sorting = "random"
[eDP-1]
path = "/home/mephisto/Pictures/Wallpapers/"
duration = "30m"
sorting = "random"
[DP-2]
path = "/home/mephisto/Pictures/Wallpapers/" duration = "30m" sorting = "random"
1上記の設定は、壁紙が30分ごとにランダムに変更されます。壁紙のソースは、パスに設定されているディレクトリです。並べ替えオプションには、ランダムでない昇順と降順も含まれています。私はランダムな方が好みです。まるで人生を賭けているようなものですから。
2
3### 3. 自動起動の設定
4
5LabWC環境では簡単です。`swaybg`をコメントアウトし、`wpaperd`デーモンに切り替えます。
6
7`shell
8
9➜ ~ head -n 5 ~/.config/labwc/autostart
10
11# 自動起動ファイルの例
12
13# 背景色を設定します。
14
15# swaybg -i ~/Pictures/land.jpg >/dev/null 2>&1 &
16
17wpaperd >/dev/null 2>&1 &
最後に、オンラインで素敵な壁紙を見つけて、PATHに指定された壁紙ディレクトリに追加します。サポートされている画像形式は、jpeg、png、webpです。
最終的な効果は、各画面にランダムに異なる壁紙が表示されることです。もちろん、両方の画面に同じ壁紙を表示するように設定することもできます。
1➜ ~ wpaperctl all-wallpapers
2eDP-1: "/home/mephisto/Pictures/Wallpapers/road.jpeg"
3DP-1: "/home/mephisto/Pictures/Wallpapers/th.jpeg"
...必要なものがすべて含まれており、全体的な設計は非常にシンプルで便利です。
4. その他の知識
好奇心旺盛な読者の方は、「モニターの接続名はどうやって確認するのですか?」と疑問に思うかもしれません。
-
X11 環境では、
xrandrを実行します。 -
Wayland 環境では、
wlr-randrを実行します。
コマンドが見つからないというメッセージが表示された場合は、関連するパッケージをインストールする必要がある可能性があります。
例えば、以下に示す Wayland 環境では、eDP-1 と DP-1 という 2 つの画面が表示されています。
1sudo apt install wlr-randr
2
3~ wlr-randr | grep -i dp
4DP-1 "Dell Inc. DELL P2417H C9G5D83N67HI (DP-1)"
5eDP-1 "Chimei Innolux Corporation 0x14C0 (eDP-1)"
eDPはEmbedded Display(コンピュータの内蔵ディスプレイ)の略です。
DPはDisplay(ディスプレイ)の略で、外部ディスプレイの略です。
WaybarステータスバーやDunstデスクトップ通知などのプログラムにも、情報を表示する画面を選択できる同様の設定オプションがあります。プログラム名がわかれば、対象の情報をどの画面に表示するかを設定できます。
著作権に関する声明:
- 出典のないコンテンツはすべてオリジナルです。、無断転載はご遠慮ください(転載後にレイアウトが崩れたり、内容が制御不能になったり、継続的に更新できない等の理由から)。
- このブログのコンテンツを非営利目的で解釈したい場合は、(読者の便宜のため)「オリジナル ソース」または「参照リンク」の形式でこのサイトの関連 Web ページ アドレスを提供してください。
このシリーズの投稿:
- greetd と regreet の使い方チュートリアル
- SuperTuxKart トライアル
- Linux環境のキー検出
- Wayland 環境の ksnip をコピーできない問題が解決されました
- Wofi 使い方チュートリアル
- Snipe it 資産管理システムのインストールと使用
- Ubuntuの起動を高速化する
- 簡体字中国語の記事を繁体字中国語に一括変換
- Linux 用の Python の最新バージョンをインストールする
- Minetest トライアル