Debian

登錄時執行的 GUI 命令的腳本替代 - 它不應該

  • July 4, 2019

由於我的主要數據不在 中$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)。

引用自:https://unix.stackexchange.com/questions/520117