プログラム内で次のコマンドを実行すると、小さなプログラムを書くのに問題があります。
gsettings get org.gnome.desktop.background picture-uri
私は得る:
'file:///home/thamara/.config/variety/Favorites/wallpaper-2448037.jpg'
しかし、これは次のようになります。
/home/thamara/.config/variety/Favorites/wallpaper-2448037.jpg
それ以外の場合、プログラムは実行されません。誰でも私を助けることができますか?
プログラム:
#!/bin/bash
## Blogry for GDM - Blurs your current wallpaper and puts it on your loginscreen
## Some Settings
effect='0x8' # Change this to anything you like http://www.imagemagick.org/Usage/blur/
save='~/Pictures/blur.jpg'
## Step one - getting the current wallpaper
dir=$(gsettings get org.gnome.desktop.background picture-uri)
## Step two - Blurring the wallpaper
convert $dir -blur $effect -blur $effect -blur $effect $save
## Step three - exit (Since GDM automatically loads the new wallpaper there is no need for seting it.)
exit 0
## Links:
# http://www.imagemagick.org/Usage/blur/
ベストアンサー1
コマンドの出力がgsettings
一致します。GVariant テキスト構文。このパラメータはひも、一重引用符で印刷します。
引用符を削除する必要があります。
dir_uri=$(gsettings get org.gnome.desktop.background picture-uri |
sed "s/^'//; s/'\$//; s/\\\\\\(.\\)/\\1/")
これによりURIが得られます。ファイル名に特殊文字が含まれていない場合は、先頭file://
(file:
)のみを削除してください。
dir=$(gsettings get org.gnome.desktop.background picture-uri |
sed "s~^'file://~~; s~'\$~~")