哪个文件控制桌面背景上显示的图像。我该如何编辑它,以便我可以通过按下键盘上的某个键来更改背景(已经有办法这样做了吗?)。我有 Ubuntu 16.04。
答案1
简单的方法是通过gsettings
命令与 配对
zenity --file-selection
,以便您选择一个文件。还有更高级的方法可以通过 API 来实现python
,python-gi
但简单而简短的 shell 脚本就足够了。
用法
将此脚本保存在您的~/bin
目录中(如果您的主文件夹中没有该bin
文件夹,请创建一个)。接下来打开系统设置 -> 键盘 -> 快捷键 -> 自定义并单击+
按钮以创建新的快捷方式。请确保将脚本的完整路径作为命令,例如,/home/john_doe/bin/change_background.sh
并确保通过单击右侧字段为此快捷方式分配一个键
脚本源
请确保该脚本可以通过chmod +x ~/bin/change_background.sh
终端中的命令或通过右键单击 -> GUI 文件管理器中的属性菜单执行
#!/bin/bash
file_path=$(zenity --file-selection)
if [ "x$file_path" != "x" ];
then
gsettings set org.gnome.desktop.background picture-uri file://"$file_path"
fi
附加信息
您问过:
哪个文件控制桌面背景上显示的图像
从技术上讲,没有专门用于背景设置的单个文件。有一个dconf
用于用户设置的数据库(通常存储在您的~/.config/dconf/user
文件中)。这是二进制数据,因此您不能简单地在文本编辑器中打开它并写入要显示为背景的文件的名称。您可以使用dconf
或gsettings
命令。dconf
直接在该数据库上操作,而gsettings
对您输入的数据进行一些“健全性检查”,因此很常见,gsettings
尽管根据我的经验,使用其中一种并没有什么优势,事实上我个人更喜欢使用dconf
。无论哪种情况,这两个工具都是我认为可以做同样事情的高级用户工具。
答案2
您可以使用gsettings 设置 org.gnome.desktop.background 图片 uri命令。将file:///[location of image]
作为参数。
例如:
$ gsettings set org.gnome.desktop.background picture-uri "file:///$HOME/Pictures/myimage.png"
您还可以使用gsettings 获取获取当前背景图像。这将向您显示当前背景图像。
$ gsettings get org.gnome.desktop.background picture-uri
将会呈现:
file:///home/users/l/j/ljames/Pictures/backgrounds/myimage.png
更新:
系统将背景图像存储在位于以下位置的二进制文件中:
$HOME/.config/dconf/user
显示当前背景的脚本将包含以下内容:
#!/bin/bash
current_background=$(gsettings get org.gnome.desktop.background picture-uri))
echo $current_background
当您运行脚本时,它会显示当前背景的当前路径名。
您可以将文件存储在任何地方,并将路径名放在脚本将该位置读入变量并使用该位置。
在此示例中,使用文本编辑器将文件的路径名放入名为 background 的文件中。
创建脚本并保存:
$ gedit ~/bin/setbackground.sh
$ chmod +x ~/bin/setbackground.sh
这是脚本的内容:
#!/bin/bash
background=$(cat ~/background)
gsettings set org.gnome.desktop.background picture-uri "file:///$background"
编辑文件以包含要使用的背景图像。
$ gedit $HOME/background
输入路径名/home/yourID/Pictures/myimage.png
并保存文件。
从命令行运行并测试脚本:
$ ~/bin/setbackground.sh
(注意:重新登录后,您只需输入setbackgrund.sh
不带路径的命令即可从命令行运行脚本)。
设置热键
现在你可以使用 Ubuntu 的键盘设置设置热键。前往:
系统设置->键盘->快捷方式->自定义快捷方式-> (点击)+-> (输入名称和命令)->(点击)申请
将其放置在Custom Shortcut
窗口中:
名称:设置背景 命令:/home/userID/setbackground.sh
对于键盘快捷键,您可以输入:
shift+ ctrl+b
现在,任何时候您想要更改背景,只需将路径名放在 $HOME/background 文件中,然后按键盘热键将其更改为该路径名。