Oturum açtıktan sonra komutları otomatik olarak gnome terminalinde nasıl çalıştırırım?


11

Her girişten sonra, gnome terminalinin belirli sekmelerinde çalıştırdığım bazı komutlar var. Bu sıkıcı bir süreç, bu otomatik olarak yapılabilir mi?

Yanıtlar:


5

Evet, bir yolu var. GNOME terminaline belirli profillere sahip sekmeler başlatmasını söylemeniz gerekir; bu profiller, istediğiniz komutlarla bir kabuk başlatmak için ayarlanmalıdır.

İlk olarak, başlayacak bir komut dosyası (veya başlatıcı simgesi) oluşturmanız gerekir gnome-terminal --tab-with-profile=Dev. "Dev" oluşturacağınız bir profilin adıdır, bu yüzden olmasını istediğiniz herhangi bir şeyle değiştirin. Ayrıca, istediğiniz kadar --tab-with-profiles belirtebilirsiniz : her biri için bir sekme açılır.

Şimdi, referans verdiğiniz profile ihtiyacınız var. Bu menüde açılarak gnome-terminalve bulunarak oluşturulur Edit->Profiles.... Yeni bir profil oluşturun ve bu profile önceki adımda belirttiğiniz adı verin. Ardından, tercihlerini ayarlamanız gerekir. Yeni oluşturulan profili vurgulayın ve Düzenle düğmesini tıklayın. Profil Tercihleri ​​iletişim kutusu açıldığında, "Başlık ve Komut" sekmesini etkinleştirin, "Özel bir komut çalıştır ..." seçeneğini işaretleyin ve ilişkili metin kutusuna koyun sh -c "ENV=$HOME/.dev_profile sh". Tabii ki, bir sonraki adımda tutarlı olduğunuz sürece ENV'yi istediğiniz herhangi bir yola ayarlayabilirsiniz. Bu sh'yi başlatır ve sh hangi komutta olursa olsun çalıştırır$HOME/.dev_profile

Ardından, bu kabuk profil dosyasını oluşturmanız gerekir. Bu yüzden $ HOME / .dev_profile (veya önceki adımda belirttiğiniz herhangi bir dosyayı) düzenleyin. İstediğiniz komutları oraya yerleştirin; kabuk başlatıldığında yürütülürler. Bunu bir .bashrc gibi düşünün - bu onun yerini alacaktır. .Bashrc'nizin kurulumuna bağlı olarak source $HOME/.bashrc, profilde tüm işlevlerinizi normal sh profilinizden kopyalamak isteyebilirsiniz .


3
Bu arada, bunun yerine tmux veya GNU Ekranı tavsiye ederim. Bu tür bir şey için kurulumu biraz daha kolay olan terminal çoklayıcılardır ve bunları bir ssh bağlantısı üzerinden kullanabilirsiniz. Tek dezavantajı, tıklamanız için sekmelere sahip olmamalarıdır, ancak yukarı ve aşağı gidip bunlara geçebileceğiniz bir menü veya oturum listesi alabilirsiniz. Ayrıca bölünmüş ekran, etkinlik / hareketsizlik monitörleri ve terminal bağlı olmadan oturumu açık tutma gibi başka fantezi seçenekleri de var.
Shawn J. Goff

1
Ekranın avantajları var, ama aynı zamanda olumsuz yanları da var. Birincisi, geçmiş çıkışa geri dönmenin çoğu X terminal emülatöründen daha zor olmasıdır. Bir diğeri, aynı ekran oturumundan aynı anda görüntülenen iki pencereye kolayca sahip olamamanızdır (ayrı ekran oturumları kullanıyorsanız bu bir sorun değildir, ancak daha sonra aralarında geçiş yapmanız gerekir, bu da terminal emülatör sekmelerini veya pencereleri ayırır. kolaylaştırır).
Gilles 'SO- kötü olmayı bırak'

@Giles: Veya Ekranı kaydırmak daha kolaydır: çalışmak istediğiniz şekle bağlıdır. İki pencere hakkında ne demek istediğinizden emin değilim - Her zaman yaparım: ^ a S ^ a <tab> ^ ac
Shawn J. Goff

2
Evet, sekme çubuğunu çift tıklatmaktan çok daha basit
Falmarri

2
@Falmarri: aslında öyle. Fareye, optik sensörün kendini kapatması için nadiren dokundum, bu yüzden herhangi bir şeyi tıklayabilmem için yaklaşık 1,5 saniye boyunca sallamam gerekiyor. (Bahsetmemek gerekirse, elimi klavyeden çıkarmak ve klavyede tekrar ev konumunu bulmak zorunda kalmak anlamına gelir.)
Shawn J. Goff

7

Aynı gnome terminali komut satırında --tab-with-profilebirden çok komutu, seçeneği birden çok kez belirterek ve ardından her seferinde tek bir -esekmede, hangi sekmede çalıştırılacağını belirterek başlatabilirsiniz . --window-with-profileBirden çok pencereye sahip olmak için de kullanabilirsiniz . Örneğin, aşağıdaki komut her biri iki sekmeli iki pencere başlatır; ilk pencere ortam sekmesini TAB1 veya 2 olarak ayarlayarak her sekmede bash çalıştırır ; ikinci pencere htopbir sekmede ve iotopdiğer sekmede çalışır. shBazı nedenlerden ötürü, doğru alıntı ile açık çağırma gereklidir.

gnome-terminal --tab-with-profile="Default" -e 'sh -c '\''export TAB=1; exec bash'\' \
               --tab-with-profile="Default" -e 'sh -c '\''export TAB=2; exec bash'\' \
               --window-with-profile="Default" -e 'htop' \
               --tab-with-profile="Default" -e 'iotop'

Eğer giriş yaptığınızda çalıştırmak için bir komut isterseniz, örneğin (bir kabuk komut dosyası içine koyun ~/bin/my_gnome_login_commandsve Gnome menüsündeki “Sistem / Tercihler / Başlangıç Uygulamaları” kaydetmek. Alternatif olarak, bir dosya oluşturmak ~/.config/autostart/my_commands.desktopiçeren

[Desktop Entry]
Type=Application
Exec=/home/tshepang/bin/my_gnome_login_commands
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true

(Satırdaki giriş dizininizin tam yolunu kullanmalısınız, Exec=kullanamazsınız ~.)

(Bu yanıt Ubuntu 10.04'te Gnome 2.30 ile test edilmiştir. Gnome bazen uyumluluğu bozduğundan, diğer sürümler için geçerli olabilir veya olmayabilir.)


0

Burada bir sürü şey görüyorum. Muhtemelen bunların hiçbirine ihtiyacınız yok.

Oracle 5.9 Linux'umda gerçekleştirdiğim adımlar şunlardır:

  1. Masaüstünüzde bir gnome terminal simgesi oluşturun.
  2. GNOME terminalinizi açın.
  3. Düzenle -> Profiller'e gidin.
  4. Varsayılan profilinizi seçin ve Düzenle'ye tıklayın.
  5. "Başlık ve Komut" sekmesine gidin.
  6. "Komutu giriş kabuğu olarak çalıştır" seçeneğini seçin.
  7. Kapat düğmesine tıklayın.

Benim için çalıştı. Tabii ki, benim durumumda, sadece terminal ortamımı ayarlamak için .profile çalıştırmak istiyorum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.