2015-05-06 35 views
0

我的團隊爲數千名用戶管理數千個計算主機。我們有一個系統,允許用戶在農場的某個地方打開一個終端,並且保持工作負載水平是其中的重要組成部分。我們依賴於能夠處理已啓動的每個終端過程的會計處理。如何強制gnome-terminal爲所有用戶始終使用--disable-factory選項,在整個站點範圍內?

用戶通常需要xterm,dtterm和gnome-terminal進程。 gnome-terminal給我們帶來了獨特的挑戰。當你啓動一個新的gnome終端進程時,如果你已經在同一臺機器上的同一用戶會話中運行了一個「舊」gnome終端進程,那麼「new」進程會將shell命令傳遞給「old」進程,並且shell/window被創建爲「舊」進程樹的一部分;並且「新」進程退出。由於顯而易見的原因,這導致我們在流程會計方面存在問題。

gnome-terminal的默認行爲可以通過給出--disable-factory選項來停止。但是,我們無法培訓所有用戶(8000+),以便每次他們在農場要求使用gnome終端進程時都要記住使用此選項。我們需要找到一種方法來鎖定它,這樣gnome-terminal 總是的行爲就好像給出了--disable-factory選項一樣。

有沒有一種方法可以爲所有用戶在站點範圍內進行配置?如果可能的話,我們寧願不用一個腳本「包裝」gnome-terminal以在注入時調用該選項 - 這會起作用,但難以維護,並且可能很脆弱。在某些/ etc/gconf文件中添加一個密鑰將是理想的,但我不確定gnome-terminal會承認哪些(如果有)密鑰...?

任何意見將不勝感激! 感謝

+1

您可能會更好地直接修改gnome-terminal並刪除該功能。 –

+0

這當然是一種選擇,@ IgnacioVazquez-Abrams。但我不確定這需要比包裝更少的維​​護。如果有的話,這將需要/更多/維護。 (具有滾動操作系統版本的異構計算環境刷新=多個特定於平臺的二進制文件,如果庫以「易碎」方式更改,則可能還需要操作系統版本特定的版本。) – tauchris

回答

0

最無痛的方式,這將使用配置管理工具來修改的gnome-terminal.desktop文件轉嫁Exec=--disable-factory選項來執行。如果你想確保這不受操作系統升級的影響,我認爲用戶特定的.desktop文件在系統之前得到了處理,因此將修改過的.desktop複製到本地用戶的應用程序目錄(或/ etc/skel /)中,或者將舊的一個到一個新的不同的名字可能工作。

相關問題