登录时执行 GUI 命令的脚本替代方案 - 它不应该

登录时执行 GUI 命令的脚本替代方案 - 它不应该

由于我的主要数据不在 中$HOME,因此我制作了一个小(可执行)脚本来在所需目录中启动 GUI 文件管理器(caja)并将其放入我的本地可执行目录(~/.local/bin)中:

#!/bin/bash
/usr/bin/caja /datadir

为了取代标准命令caja,该脚本具有相同的名称,并且本地可执行文件的路径首先列在 my 中~/.profile

if [ -d "$HOME/.local/bin" ] ; then
    PATH="$HOME/.local/bin:$PATH"
fi

到目前为止工作正常,但每当我登录时,文件管理器都会默认打开。没有激活会话保存,也没有执行该目录中的其他可执行文件(尝试了一些echo脚本,甚至其他 GUI 命令)。

我怎样才能抑制这种行为?

在 Debian 10 上使用 MATE 作为 DE(测试)

答案1

caja不仅是文件管理器,还管理一些桌面设置,例如桌面符号(关联)。因此它将在启动 MATE 会话时执行。对于正确的 MATE 会话启动来说,这似乎是不可避免的。

gnome 中的 natuilus 也是如此。


一个快速而肮脏的解决方案是将您的脚本命名为其他名称,让脚本caja在登录时创建一个符号链接(命名并指向您的 Caja 启动脚本),但在桌面启动并运行之后,然后删除该符号链接~/.bash_logout(假设你的 shell 是 bash)。

相关内容