我认为这很简单,但我遇到了一个问题,即 SXHKD 绑定在启动后无法工作,直到 bash xfce4-terminal 打开一次。所以我尝试通过 rc.local 在启动时打开终端,但这不好,因为它不能使用 ~/.config 设置打开。所以我创建了一个启动器,放入 /etc/xdg/autostart 中, Exec= /Usr/bin/xfce4-terminal -e 'bash -c "sleep 1"' 或 bash -c '/usr/bin/xfce4-terminal' 并且几十个其他的东西,目的是暂时打开 bash,但似乎没有任何作用。例如,我也无法从 rc.local 运行启动器。
答案1
为什么不自动启动 SXHKD,而不是自动启动终端。
创建这个文件~/.config/autostart/sxhkd.desktop
它应该包含:
[Desktop Entry]
Name=sxhkd
Comment=Simple X hotkey daemon
Exec=/usr/bin/sxhkd
Terminal=false
Type=Application
这是一个有效的示例,我在虚拟机中安装的 Xfce 上尝试了以下操作。
我使用了“设置”>“会话和启动”>“应用程序自动启动”。
我使用命令 xfce4-terminal -e 'bash -c "sleep 5"' 添加了一个新任务
这将文件添加到 ~/.config/autostart/ (不是 /etc/xdg/autostart)
内容是:
[Desktop Entry]
Encoding=UTF-8
Version=0.9.4
Type=Application
Name=Terminal
Comment=Terminal test
Exec=xfce4-terminal -e 'bash -c "sleep 5"'
OnlyShowIn=XFCE;
RunHook=0
StartupNotify=false
Terminal=false
Hidden=false
这工作得很好,终端出现,挂起 5 秒钟,然后关闭。
当您使用要执行的命令启动终端时,它就会执行该命令。当它执行命令时,它无法输入后续命令,因此没有 user@user 提示。大多数命令都非常快,您不会注意到这一点。在您的情况下,睡眠命令使其更加明显。
如果您正常打开终端并输入类似内容,firefox
那么 Firefox 应该会打开。如果您返回终端,让 Firefox 保持打开状态,您将不会看到 user@user 提示符在等待您,但您仍然会在屏幕上看到之前的提示符和 Firefox 命令。您可能还会看到一些错误或警告消息。 Firefox 命令正在终端中运行,因此终端正忙,没有用户提示等待输入。如果您随后关闭 Firefox 窗口,终端中将再次出现 user@user 提示符。
xfce4-terminal
当您使用 user@user 提示符登录时,只需使用自动启动器中的命令即可打开终端。