我正在运行 Lubuntu 16.04。它使用 openbox 作为窗口管理器。我想将虚拟桌面配置为网格排列而不是直线排列,我可以通过运行以下命令来实现:
xprop -root -f _NET_DESKTOP_LAYOUT 32cccc -set _NET_DESKTOP_LAYOUT 0,3,2,0
手动运行时,此命令运行良好。因此,我已将该命令放入我的 中~/.profile
,希望每次登录时都会执行该命令。
但事实并非如此。:( Lubuntu 启动后,我登录并且寻呼机仍然设置在一行中。我必须手动运行该命令才能恢复桌面布局。
.profile
在我登录时正在执行。我之所以能说出这一点,是因为其中所做的 PATHS 调整正在产生效果。
- 为什么它在终端中运行时可以工作,但在 .profile 中却不行?(我甚至这样做了,
source ~/.profile
而不是键入/复制命令以确保它在文件中是正确的) - 适当的文件在哪里可以放置这样的命令以便正确执行它?
为了寻找可能覆盖它的任何后续“xprop”命令,我运行了
grep -r xprop .
并在文件中找到对 xprop 失败的引用run.log
。该日志似乎在每个日志中生成:
pod@lubuntu-vm:~$ grep -C3 xprop ~/.cache/lxsession/Lubuntu/run.log
** Message: utils.vala:79: Config system location : /etc/xdg/lxsession/Lubuntu
** Message: utils.vala:85: System system path location : /etc/xdg/lxsession/Lubuntu/conffiles.conf
** Message: utils.vala:89: Final file used : /etc/xdg/lxsession/Lubuntu/conffiles.conf
xprop: no such property "_NET_NUMBER_OF_DESKTOPS"
xprop: no such property "_NET_DESKTOP_NAMES"
** Message: options.vala:164: Activate xsettings_manager build-in
** Message: utils.vala:68: User config used : /home/pod/.config/lxsession/Lubuntu/desktop.conf
** Message: utils.vala:89: Final file used : /home/pod/.config/lxsession/Lubuntu/desktop.conf
但那是唯一的参考,并且它不是我试图调整的相同属性。
答案1
问题
正如我在评论中提到的那样,问题是定时.(命令)如果桌面尚未准备好,配置桌面通常会中断,而您的命令只是偏离目标。例如,在配置显示器、键盘和鼠标上运行命令时,通常会发生这种情况。
解决
为了解决这个问题,您需要在运行命令之前添加一个小中断。我没有运行 Lubuntu,但根据这个帖子,您应该能够在此处添加启动命令(实际上是登录):开始菜单 → 首选项 → LXSession 的默认应用程序 → 自动启动。添加小中断的命令是:
/bin/bash -c "sleep 5 && xprop -root -f _NET_DESKTOP_LAYOUT 32cccc -set _NET_DESKTOP_LAYOUT 0,3,2,0"
或者,(由您测试:)),您可以将其添加到~/.profile
,并添加&
以确保它将在后台运行并且不会暂停登录过程。