Mengatur judul tab Terminal

11

Saya mencoba untuk membuka beberapa tab terminal di terminal gnome, dan sejauh ini saya telah berhasil melakukan sesuatu , tetapi saya terjebak sekarang.

Jadi, saya memiliki persyaratan berikut:

  • Buka tab berjudul "X" dan "Y"
  • Jalankan beberapa perintah
  • Biarkan tab tetap terbuka dan siap digunakan lebih lanjut; simpan judulnya.

Sejauh ini, saya berhasil memenuhi beberapa persyaratan, tetapi tidak semuanya:

gnome-terminal --tab -t "X" -e "bash" --tab -t "Y" -e "top"

Ini membuka dua tab:

  1. "X" (dan kemudian mengubah judul menjadi judul default)
  2. "Y", tapi tabnya menutup begitu aku berhenti top.

Apakah ada cara untuk membuka tab, meluncurkan bash, tetapi tidak mengubah judul? Saya sudah mencoba Google, tetapi menyerah.

EDIT: Itu tidak harus menjadi perintah.

omninonsense
sumber
Apakah itu harus menjadi perintah? Karena GUI gnome-terminal berfungsi dengan baik untuk itu.
neph
@ kikjezrous Yah, saya tahu bagaimana melakukannya dengan pintasan keyboard, atau hanya mengklik kanan, tapi saya harus melakukannya setiap kali saya mulai bekerja (dan ini 6 tab), jadi ini lebih merupakan masalah kenyamanan daripada kebutuhan nyata.
omninonsense
Ah, saya akan mengedit jawaban saya.
neph

Jawaban:

4

Seperti yang Anda lihat di jawaban lain , judul tab diubah oleh shell setiap kali menampilkan prompt. Dan setelah mengeksekusi toptab Anda keluar karena perintah yang Anda katakan untuk menjalankan selesai ...

Saya akan melakukan yang berikut:

Langkah 1: panggil terminal dengan shell, tambahkan variabel lingkungan seperti itu:

gnome-terminal --tab -t X -e "env MYTAB=X bash" --tab -t Y -e "env MYTAB=Y bash" 

Langkah 2: tambahkan di akhir .bashrckode berikut Anda:

#if MYTAB is not set, return
[ -z "$MYTAB" ] && return
# reset the cursor and title 
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
PS1="\[\e]0;$MYTAB \w\a\]$PS1"   #title: $MYTAB and current dir
# execute the commands for every tab
case "$MYTAB" in
        X)
                echo this is X
        ;;

        Y)
                echo this is Y 
                top
        ;;
esac

... yang menurut saya mudah dimengerti dan Anda dapat memodifikasi dengan perintah / tweak yang Anda butuhkan. Diuji dan berfungsi ok; setelah Anda keluar topdari tab Anda masih akan memiliki prompt dan tab untuk Anda baca dengan teliti.

Tangkapan layar (setelah menekan "q" di top):

tangkapan layar

Rmano
sumber
6

Untuk menjaga judul tab Anda perlu mengomentari baris berikut di Anda .bashrc:

# If this is an xterm set the title to user@host:dir
#case "$TERM" in
#xterm*|rxvt*)
#    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
#    ;;
#*)
#    ;;
#esac

Maka gnome-terminal --tab -t "X" -e "bash" --tab -t "Y" -e "top"akan berfungsi seperti yang diharapkan:

masukkan deskripsi gambar di sini

Sylvain Pineau
sumber
Menandai ini sebagai jawaban yang tepat, karena ini adalah jawaban yang paling sederhana. :-)
omninonsense
Saya telah mengubah jawaban yang diterima (dan sedikit mengeditnya), karena lebih sesuai dengan kebutuhan saya; ini masih merupakan jawaban yang bagus!
omninonsense
1
Tidak masalah, ini cara kerjanya :)
Sylvain Pineau
1

Saya berasumsi itu tidak harus menjadi perintah, dan memberikan cara yang benar-benar grafis untuk melakukan ini.

Setelah meluncurkan gnome-terminal, menu 'file' memungkinkan Anda untuk membuka tab baru yang akan diberi judul tertentu. Itu dapat diubah dengan menu 'terminal' atau klik kanan tab dan lakukan dari menu konteks.

Kemudian Anda dapat membuka atas dan perintah apa pun yang Anda inginkan, semuanya ada di terminal, berjalan seperti proses normal, tidak terikat yang dijalankan dari terminal lain - hanya lingkungan desktop - yang tidak akan mati setelah dirasakan selesai apa yang dilakukan yang harus di lakukan.

neph
sumber
Menggunakan builtin gnome-terminal tidak ada opsi untuk mengatur judul di menu konteks untuk tab atau opsi apa pun di menu 'terminal'. Versi terminal apa yang Anda gunakan?
Williams
1

Saat bermain-main, saya menemukan bahwa itu bukan perintah sama sekali - itu profil.

Pergi ke:

Edit | Profiles | (Default) | Edit | Title and Command 

dan ubah opsi "Saat Terminal Tetapkan Judul Sendiri" ke "Simpan judul awal", di bagian bawah daftar. Sekarang, ketika Anda meluncurkan perintah dengan judul, itu akan bertahan, sehingga perintah Anda akan berfungsi dengan baik.

masukkan deskripsi gambar di sini

neph
sumber
Perhatikan bahwa Anda harus melakukan ini untuk setiap profil yang ditentukan
Sylvain Pineau