由于我的主要数据不在 中$HOME
,因此我制作了一个小(可执行)脚本来启动caja
所需目录中的 GUI 文件管理器()并将其放入我的本地可执行目录(~/.local/bin
)中:
#!/bin/bash
/usr/bin/caja /datadir
为了取代标准命令caja
,脚本具有相同的名称,并且我的本地可执行文件的路径首先列在我的~/.profile
:
if [ -d "$HOME/.local/bin" ] ; then
PATH="$HOME/.local/bin:$PATH"
fi
到目前为止工作正常,但是每当我登录文件管理器时默认打开。没有激活会话保存,没有执行该目录中的其他可执行文件(尝试了一些echo
-scripts 甚至其他 GUI 命令)。
我怎样才能抑制这种行为?
在 Debian 10 上使用 MATE 作为 DE(测试)
caja
不仅是文件管理器,还管理一些桌面设置,例如桌面符号(链接)。因此它将在启动 MATE 会话时执行。对于正确的 MATE 会话启动,这似乎是不可避免的。gnome 中的 natuilus 也是如此。
一个快速而肮脏的解决方案是将您的脚本命名为其他名称,让
caja
脚本在登录但在桌面启动并运行之后创建一个符号链接(命名并指向您的 Caja 启动脚本),然后删除符号链接~/.bash_logout
(假设你的外壳是bash)。