2013-08-01 61 views
0

我發佈了some scripts to automatically mount並在Linux中卸載了磁盤,現在我得到了a request以使磁盤擁有當前登錄的用戶。也就是說,當前持有gui的用戶佔用了(在這種情況下我們不關心終端用戶)。如何獲取擁有當前活動的gui會話的用戶名?

我該如何去掌握用戶名?可能會有多種不同的窗口管理器,因此如果不存在獨立於wm的解決方案,則可能需要根據wm的不同解決方案。

首先,針對Gnome的解決方案可能就足夠了。

該腳本在任何用戶會話之外運行(由udev觸發)。

回答

0

如果您正在運行bash腳本,則當前登錄用戶的用戶名應該作爲環境變量$USER$USERNAME存儲。 env命令將爲您提供當前shell中所有環境變量的列表。

現在如果您想要當前用戶的用戶標識,請使用id命令。

+0

我認爲從信息中可以清楚的知道,我在GUI會話之外運行這些腳本,但我想不是:)現在增加了相關信息。 – oligofren

+1

抱歉。您可以在腳本執行時在前臺找到運行與gui關聯的進程之一的用戶標識(稱爲X服務器或某個窗口管理器的進程),並使用該信息掛載磁盤,但我不能說我曾經嘗試過這一點,並且我預見了可能的可移植性問題。祝你好運與你的腳本。 –

+0

謝謝。清除ps輸出是唯一可以看到atm的cross-gui解決方案。 – oligofren

相關問題