Paksa setiap terminal baru untuk membuka di tab baru

8

Saya memiliki kebiasaan membuka terminal menggunakan perintah "Buka terminal di sini" di folder. Ini menyebabkan beberapa terminal tetap terbuka sementara saya tidak benar-benar menggunakannya lagi, atau saya bingung terminal mana yang melayani tujuan mana.

Saya tahu saya bisa memberi label tab terminal dan semacamnya, tetapi bisakah saya memaksa terminal baru yang sedang dibuka, untuk menjadi tab baru di layar terminal (jika sudah ada yang terbuka?) Dengan cara ini saya selalu membuatnya tab dalam satu tab terminal.

EDIT Oke, sudah lama dan linux mojo saya sudah banyak berkembang. Jadi solusi saat ini untuk situasi ini bagi saya telah digunakan tmux. Ini sedikit lebih maju daripada terminal dan tab biasa tapi begitu saya bisa menguasainya (sekitar satu jam mencoba), saya sangat senang dengan cara melakukan sesuatu.

Pertama-tama, saya memastikan bahwa setiap kali saya membuka terminal menggunakan ctrl-alt-t, itu akan membuka tmux secara default. Ini dapat dicapai dengan menambahkan baris berikut di .bashrcfile Anda setelah semua alias:

[[ $TERM != "screen" ]] && exec 'tmux

Sekarang setiap kali Anda menelurkan terminal menggunakan ctrl-alt-tAnda akan disajikan dengan a tmux.

Untuk memastikan Anda hanya memiliki satu terminal terbuka pada saat yang sama saya melakukan hal berikut:

Pertama-tama, Anda dapat memasang kembali sesi tmuxdengan menjalankan tmux attach -d. Ini akan memutuskan semua klien lain yang terhubung ke sesi ini. Ini berfungsi dengan baik jika Anda adalah satu-satunya orang yang menggunakan sesi.

Tetapi, jika Anda tidak menjalankan sesi, ia akan mengatakan tidak menemukan sesi apa pun. Ergo, Anda memerlukan sesuatu seperti if (noosi) {tmux} else {tmux attach -d}. Untuk melakukan ini, tambahkan ~/.tmux.conffile Anda pada baris berikut:

#if run as "tmux attach", create a session if one does not already exist
new-session -n $HOST

(Terima kasih untuk posting ini )

Dalam .bashrcfile saya , saya mengubah baris yang ditambahkan sebelumnya ke yang berikut:

[[ $TERM != "screen" ]] && exec 'tmux attach -d'

Apa yang dilakukan adalah melepaskan semua klien lain dari tmuxsesi. Ketika Anda melakukan ini, semua terminal lain tutup. Mereka menutup karena baris ini juga memastikan bahwa ketika Anda membuka terminal (ctrl-alt-t), itu segera memulai sesi tmux.

Ergo, attach -dbunuh sesi lainnya. Jadi ini adalah perbaikan terdekat yang bisa saya dapatkan dan saya cukup senang dengan itu! :)

Satu-satunya hal yang saya masih suka adalah ketika saya menekan ctrl-alt-titu membuka sesi saya saat ini dan juga membuat jendela baru. Saya belum mengetahuinya, jadi jangan ragu untuk membantu!

Christophe De Troyer
sumber
Tekan ctr + shift + t untuk membuka tab di terminal.
Ankur Khandelwal
Ya saya tahu itu. Namun, seperti yang saya katakan, saya sering membuka tab dari dalam direktori menggunakan plugin "Buka terminal di sini" (ini adalah default di Xubuntu misalnya). Ini membuka jendela baru. Saya ingin ini dibuka sebagai tab baru di jendela terminal yang sudah ada.
Christophe De Troyer

Jawaban:

3

Sayangnya membuka tab baru di sesi gnome-terminal yang ada telah menjadi fitur yang diinginkan selama beberapa tahun sekarang - lihat di sini .

Akan mungkin untuk meretas sesuatu bersama. Misalnya jawaban ini menyediakan peretasan untuk membuka tab baru di jendela gnome-terminal saat ini.

Jamie
sumber
Luar biasa. +1 untuk tautan ke laporan bug. Saya hanya bisa mendorong semua orang untuk mengklik tautan "ini mempengaruhi saya juga" di atas untuk menarik perhatian pada hal ini. Juga memberi +1 untuk peretasan. Jawaban bagus!
Christophe De Troyer