Bisakah jendela Terminal diubah ukurannya dengan perintah Terminal?


38

Sehingga saya bisa mengubah ukuran jendela ke ukuran tertentu dari dalam Terminal.

Jawaban:


58

Iya nih. Terminal mendukung urutan pelarian untuk memanipulasi windows, termasuk ukuran dan posisi, layering, dan meminimalkan. Dimensi dapat dinyatakan dalam piksel atau karakter. Lihat Xterm Control Sequences untuk detailnya (cari "manipulasi Window"; jika Anda tidak terbiasa dengan notasi, "CSI" adalah singkatan dari "Control Sequence Introducer", yaitu ESC [).

Misalnya, perintah shell ini akan mengatur jendela ke 100x50 karakter:

printf '\e[8;50;100t'

Minimalkan jendela selama beberapa detik, lalu kembalikan:

printf '\e[2t' && sleep 3 && printf '\e[1t'

Pindahkan jendela ke sudut atas / kiri tampilan:

printf '\e[3;0;0t'

Zoom jendela:

printf '\e[9;1t'

Bawa jendela ke depan (tanpa mengubah fokus papan ketik):

printf '\e[5t'

Mengaktifkan Urutan Kontrol di Terminal Emulator

Beberapa emulator terminal mengabaikan urutan kontrol ini secara default dan memerlukan konfigurasi untuk mengaktifkannya.

Untuk mengaktifkan ini di XTerm , atur sumber daya berikut menjadi true:

allowWindowOps

Untuk mengaktifkan ini di iTerm2 , batalkan pilihan preferensi berikut:

Preferensi> Profil> [profil]> Terminal> Nonaktifkan ukuran jendela yang diprakarsai sesi


Ini sempurna!
LopSae

2
Mulai sekarang Anda adalah tuhan!
d12frosted

2
Ini sepertinya tidak bekerja pada Yosemite dengan iterm2
Jistanidiot

Ini berfungsi dengan baik tetapi sepertinya Terminal tidak menerima resizings yang akan membuat jendela hanya terlihat sebagian di layar. Saya baru saja mencoba printf '\ e [8; 100; 100t' dan ini terpotong menjadi 79x100, hanya apa yang cocok. Masalah saya adalah bahwa saya harus mem-bypass mouse hanya untuk kasus memperbesar Terminal di luar batas layar ...
phs

1
Ini juga berfungsi dengan iTerm2.
TextGeek

10

Anda selalu dapat menggunakan AppleScript:

setwidth() { osascript -e "tell app \"Terminal\" to tell window 1
set b to bounds
set item 3 of b to (item 1 of b) + $1
set bounds to b
end"; }

Ini hanya berfungsi untuk jendela / tab terminal yang saat ini aktif. Agar ini bekerja dengan andal, dapatkan tty path device saat ini dan cari tab terminal yang cocok.
Chris Page


10

Gunakan /usr/X11/bin/resize.

resize -s 30 80 akan memberi Anda 30 baris dan 80 kolom.

resize -s 30 0 akan memberi Anda 30 baris dan kolom penuh.

resize -s 0 80 akan memberi Anda baris dan 80 kolom penuh.


1
Solusi ini tidak terbatas pada MacOS. Ini berbasis terminal, jadi itu harus bekerja pada semua terminal. Saya menggunakan ini untuk mengubah ukuran jendela Putty pada Windows yang menjalankan shell bash dengan TERM = xterm.
DrStrangepork

4
Ini sepertinya tidak berfungsi pada Yosemite di iterm2.
Jistanidiot

Ini berfungsi untuk saya dengan Apple Terminal tetapi tidak iTerm2. Namun, mengirimkan urutan pelarian \ e [8; 24; 80t bekerja dengan keduanya.
TextGeek

1
@ KrishenGreenwell Lihat dokumentasi iTerm2. Secara default ia mengabaikan urutan kontrol ini. Ada preferensi untuk mengontrol apakah mereka diabaikan.
Chris Page

1
Solusi ini digunakan untuk bekerja, tetapi saya pikir, perintah X11 hilang. Mungkin, mereka dapat diinstal dengan menginstal X11, tetapi saya tidak ingin menginstal X11 hanya untuk memiliki perintah mengubah ukuran.
Gabriel

-2

Sebenarnya Anda tahu, memindahkan ukuran jendela dengan mouse sangat lambat.

Saya telah menggunakan aplikasi ini SizeUp untuk waktu yang sangat lama sekarang. Ini pada dasarnya mengubah ukuran jendela aplikasi dengan menggunakan perintah keyboard Anda.

Anda dapat melakukan hal berikut (perintah keyboard khusus saya di bawah):

  • membuat jendela layar penuh ( control+ option+ command+ m)
  • memindahkan jendela ukuran layar 1/2 ke kiri atau kanan ( control+ option+ command+ / )
  • memindahkan jendela ukuran layar 1/4 ke sudut mana pun ( control+ option+ shift+ / / / )
  • memindahkan jendela di antara layar
  • memindahkan jendela di antara spasi

Saya pikir ini mungkin melakukan trik dan juga membantu dengan manajemen jendela lainnya.


Meskipun bermanfaat, ini tidak menjawab pertanyaan yang diajukan penanya.
Andrew Ferrier
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.