2009-06-10 41 views
18

我想在本地機器(Ubuntu GNOME)上創建一個安裝程序,終端窗口具有不同的背景顏色,具體取決於我是登錄到本地計算機還是ssh進入遠程機器。以編程方式更改Gnome終端主題

有沒有辦法做到這一點?

+0

我也歡迎任何關於如何更好地組織我的Gnome終端的終端窗口和標籤的任何建議。很好的問題。 – Andrioid 2009-06-10 11:05:43

+0

使用更好的窗口管理器。平鋪一個也許。 – 2009-06-10 11:08:33

回答

8

這不符合你的要求,但它可能做你想要的。

您可以根據您是否使用ssh來修改您的.bashrc(或等效的shell init文件)以設置提示。

即放像:

if [ -n $SSH_TTY ]; then 
    export PS1=`echo -en '\033[42m\w\$ '`; 
fi; 

在遠程機器上的.bashrc文件的末尾。 \033[42m是一個ANSI Escape Code,將背景顏色更改爲綠色。

這樣,當您登錄到遠程計算機時,終端的背景顏色將變爲綠色(或品紅色,或青色或其他)只有

3

你可能想簽出選項的GNOME終端:

gnome-terminal --help 

--window-with-profile=PROFILENAME 

包裝這在shell腳本:

#!/bin/bash 
gnome-terminal --window-with-profile=PROFILENAME 

然後做

ssh-term 

如果您想要更改,請查看期限和其他條款。還可以看看Devilspie,它可以根據窗口標題(刪除窗口裝飾等)進行更多動態更改。

http://burtonini.com/blog/computers/devilspie

+0

這需要您打開一個新窗口,其具體目的是將其用於SSH,並在SSH連接關閉後立即關閉該窗口 - 否則會導致誤導,並且會導致無關緊要。這不完全是一個優雅的解 – Thriveth 2013-06-11 10:10:41

3

你可能想看看GConf。它基本上是爲Gnome註冊表的Windows。大多數Gnome應用程序使用它來存儲他們的設置。您可以瀏覽用它的工具,如GConf-Editor,或使用gconftool-2命令行:

$ gconftool-2 --all-entries /apps/gnome-terminal/profiles/Default 
background_color = #000000000000 
palette = #2E2E34343636:#CCCC00000000 [ snipped ] 
... many more lines 

你會發現這裏是通過Preferences對話框訪問的所有設置,再加上更多一些。鍵也可以使用--set進行更改,詳情請參閱「man gconftool-2」。

還有許多編程語言的GConf庫綁定。

+0

幾乎我所需要的,但它會更改「全局」註冊表....不是僅當前選項卡。我可以爲不同的機器設置主題,但我需要通過命令切換這個主題 – pufferfish 2011-07-29 11:37:18

0
export PROMPT_COMMAND='echo -ne "\033]0;${HOSTNAME}: ${PWD}\007"' 
1

我有一些腳本,實現這一目的的GNOME終端。您可以在https://github.com/xyrix/gnome-terminal-profile-switcher

中找到它們。該腳本通過爲所有終端創建一個臨時配置文件,然後更改要從正常配置文件複製的臨時配置文件中設置的值來工作。

這允許您從腳本更改當前gnome終端的配置文件。

存儲庫中包含一個示例「safe_ssh」腳本以演示使用情況。

相關問題