由于我的主要数据不在 中$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)。