web-dev-qa-db-ja.com

Nautilusはデスクトップの壁紙を設定できます。ログインとロック画面の壁紙を設定するにはどうすればよいですか?

Nautilusには、現在の画像をデスクトップの壁紙として使用するためのメニューオプションがあります。

Nautilus Wallpaper

現在の画像をログイン画面とロック画面の壁紙として使用するにはどうすればよいですか?

2

Nautilusを使用して、ログイン画面およびロック画面の壁紙として使用する適切な.pngまたは.jpgファイルをナビゲートおよび表示した後、Nautilusはスクリプトを使用してこれを設定できます。

Set Login Wallpaper.gif

注:Ubuntu 18.04では、ロック画面の壁紙のみが変更されます。ログイン壁紙を変更するには、別の手法が必要です。

スクリプトを作成するには:

cd ~/.local/share/nautilus/scripts/
gedit set-login-wallpaper

次の行に貼り付けます。

#!/bin/bash

## Set login wallpaper

# strip new line char passed by Nautilus
FILENAME=$(echo $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS | sed -e 's/\r//g')

# Multiple files can't be selected.
LINE_COUNT=$(wc -l <<< "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS")
LINE_COUNT=$((LINE_COUNT-1))

if [[ $LINE_COUNT > 1 ]] ; then
    zenity --error --text "Ony one file can be selected at a time! "
    exit 1
fi

# Object type must be "file..." (ie no directories, etc.)
if [ -d "${FILENAME}" ] ; then
    zenity --error --text "$FILENAME is a directory!";
    exit 1
else
    if [ -f "${FILENAME}" ]; then
        : # Bash noop
    else
        zenity --error --text "${FILENAME} is not a file!";
        exit 2
    fi
fi

# Build working file in /tmp
echo "[com.canonical.unity-greeter]" > /tmp/set-login-wallpaper.tmp
echo "draw-user-backgrounds=false" >> /tmp/set-login-wallpaper.tmp
echo "background='$FILENAME'" >> /tmp/set-login-wallpaper.tmp

# Must run as Sudo
if [ "$EUID" -ne 0 ] ; then

    # Get Sudo password
    PASSWORD=$(zenity --password --title="Set Login Wallpaper" --timeout=20)

    # copy working file to real file using Sudo
    echo $PASSWORD | Sudo -S cp /tmp/set-login-wallpaper.tmp \
/usr/share/glib-2.0/schemas/10_unity_greeter_background.gschema.override

    # compile using Sudo
    echo $PASSWORD | Sudo -S glib-compile-schemas /usr/share/glib-2.0/schemas

else
    # Already Sudo so simply copy and compile
    # copy working file to real file
    cp /tmp/set-login-wallpaper.tmp \
/usr/share/glib-2.0/schemas/10_unity_greeter_background.gschema.override

    # compile
    glib-compile-schemas /usr/share/glib-2.0/schemas
fi

exit 0

ファイルを保存し、geditエディターを終了します。

次を使用して、スクリプトを実行可能としてマークします。

chmod +x set-login-wallpaper

Nautilusを開き、壁紙画像を使用してディレクトリに移動します。適切な画像を見つけて右クリックします。次のドロップダウンメニューが表示されます。

Nautilus Right Click Drop Down

3番目のオプションScriptsをクリックします。すべてのスクリプトを含む別のドロップダウンメニューが表示されます。

Nautilus set-login-wallpaper Drop Down

set-login-wallpaperを選択します。

スクリプトの実行時に、Sudoパスワードを入力する必要があります。

再起動して、新しいログイン壁紙をお楽しみください。

3