2010-12-14 56 views
0

我在我的教室中管理計算機和帳戶,這是一個CentOS 5.5環境。我試圖弄清楚如何使用.bashrc文件(或類似的)來確保任務在用戶通過Gnome/GDM登錄時運行,即登錄到GUI會話中,但該任務不會在運行時運行用戶通過SSH或其他終端登錄登錄。我怎樣才能做到這一點?檢測在Bash中的圖形登錄

回答

3

的價值你或許應該看一看的XDG autostart specification,它可以讓你有應用程序在桌面登錄時啓動。由於bash和其他shell不遵循XDG規範(顯然,它們是UNIX shell,而不是DE),所以基本上可以實現您要查找的內容,但根本不用擔心外殼。

+0

這聽起來像一般情況下最好的解決方案的存在 - 但在這種特殊情況下,調查$ DISPLAY的值可能不夠好,而且更簡潔我的時間。 – 2010-12-14 19:12:44

+1

如果您的應用程序已經有了.desktop文件,它非常簡單;只需在合適的目錄中放一個。我不確定在(GUI)登錄過程中產生shell的位置。如果你使用shell的初始化文件,如果用戶不使用這個shell,或者它們啓動了多個shell,那麼做奇怪的事情也很容易。我提到了自動啓動規範,因爲它提供了一個確定性的方法:有人已經發明瞭這些輪子。 :-) – 2010-12-14 20:18:39

+0

哦,是的,這些輪子是有趣和有用的。但是我可以逃脫這個快速而骯髒的版本,因爲我的使用案例涉及的用戶可能很幸運地將bash shell與海螺殼區分開來。 – 2010-12-18 06:35:03

0

檢查$ DISPLAY

2

查找DISPLAY環境變量

​​
+0

如果有人使用'ssh -X'? – 2010-12-14 16:05:56

+1

然後他們有一個圖形會話。 – 2010-12-14 16:10:06