こんにちは、山田ハヤオです。
Twitterでこんなことを質問されました。確かにログイン画面の変更って一切実装してないんですよね。
コマンドで画像を置き換えるしかないんですが、それもなんか嫌だなと。
んで最初は @watasukeにGUiの設定ソフトを作成してもらおうと考えたんですが、シェルスクリプトで簡単に実装できそうだったので自力でやってみました。
最低限の処理を9行で実装できたのですが、例外処理を加えているうちに50行ほどにまでなってしまいました。
この方法は64bit版(x86_64)でしか使えません。
32bit版(i686)の場合は「設定」⇒「ログイン画面」から設定を行って下さい。
このツールは基本的にAlter Linuxでしか使えません。
Arch LinuxやManjaroでは動かないので注意してください。
(lightdm-webkit2-theme-alter
を導入しているなら使えます。)
ツールをダウンロードする
まずはターミナルを起動して下さい。
最低限のファイルのダウンロードと実行だけはどうしてもコマンドを使います。
curl -Lo ./login-wallpaper.sh https://0e0.pw/5uxw
chmod +x ./login-wallpaper.sh
./login-wallpaper.sh
1行ずつ入力していってください
使い方
上のコマンドの最後の行を実行すると、こんな画面が出てきます。
ここで、壁紙に設定したい画像を選択して下さい。
すると今度はパスワードの入力画面が出てきます。
ログイン画面の背景はRoot権限がないと変更できないのでパスワードを入力して許可してください。
こんな感じになれば完了です。
壁紙を前のやつに戻したい
過去の壁紙は全てバックアップされています。
それを選び直すことで以前のものに戻すことができます。
/usr/share/lightdm-webkit/themes/alter/images/backup/
にバックアップが置かれています。
エラーが出た
選択されたファイルは画像ではありません。
ファイル選択画面で画像ファイル以外を選択するとこの画面が出ます。
画像ファイルかどうかの判定にはfile
コマンドを使っています。
何も画面が出ずに終了した
ファイルを選択しないでウィンドウを閉じると、スクリプトも終了します。
また、認証に失敗するとターミナルのほうにエラーを出力します。
どうしても原因がわからなければコメントまでお願いします。
ソースコード
30分ほどで開発したものなのでコードは汚いです。
最後に
わからない部分があったらコメントまでお願いします。最後まで見ていただきありがとうございました。
ちなみに最初のリプもらってからこのブログ記事が完成するまで1時間半でした。仕事早い(手抜き)
コメント
./login-wallpaper.sh: 行 7: zenity: コマンドが見つかりません
と3行目を入力するとでるのですが、どうすればよいでしょうか。
yay -Sy
でzenityコマンドをインストールしてください。yay -S zenity
デフォルトでインストールされているはずなんですが…