Eh, apakah ada indikasi bahwa re5et (OP) ada di Mac, atau apakah program pembungkusnya sudah diinstal?
Chris Johnsen
1
Saya pikir jawaban ini hanya berfungsi untuk Mac OS X
EhevuTov
5
tmux kill-serveradalah perintah untuk mengakhiri semua server tmux
Keith Smiley
1
Meskipun itu bukan jawaban yang diminta OP, saya berakhir di utas ini dan memang saya menggunakan OS X, menggunakan pembungkus ini, dan ini adalah solusi yang saya butuhkan; jadi terima kasih!
Jose Alban
1
bagaimana ini berbeda set-option -g default-shell ? di atas sepertinya tidak bekerja dengan shell Ikan.
Tommy
5
Jika Anda ingin memaksa tmux untuk menggunakan shell yang sama seperti yang ditentukan dalam variabel lingkungan Anda, Anda bisa menggunakan:
# force SHELL ENV variable as shellset-option -g default-shell ${SHELL}
di ~/.tmux.confatau /etc/tmux.conf.
Untuk mendapatkan perubahan agar benar-benar berlaku, Anda mungkin perlu tmux kill-serverdan kemudian tmuxuntuk me-restart tmux.
Tidak yakin mengapa ini tidak dipilih. Tampaknya benar: masalah umum adalah menggunakan shell yang berbeda untuk misalnya iTerm tetapi meninggalkan shell login /bin/bashuntuk memastikan tidak ada kerusakan non-iteraktif. ITerm tidak akan mengatur $SHELLke nama shell baru (tidak yakin mengapa), dan inisialisasi bash akan mengaturnya ke shell login jika tidak disetel pada saat startup. tmux kemudian menggunakan nilai ini jika default-shelltidak disetel secara eksplisit.
Sam Brightman
Ya .. mungkin env SHELL=/usr/bin/zsh tmuxlebih baik? (memperbarui jawabannya).
Jawaban:
di
~/.tmux.conf
atau/etc/tmux.conf
. Bekerja di Fedora.Anda mungkin harus memulai ulang tmux dengan
killall tmux; tmux
sumber
tmux
. Tampak jelas tetapi butuh satu jam yang baik untuk mencari tahu!killall tmux; tmux
. Butuh waktu cukup lama untuk mencari tahu.bind R source-file ~/.tmux.conf \; display-message " Config reloaded..".
tmux source-file ~/.tmux.conf
dari baris perintah.tmux kill-server
.Pertama pastikan shell default Anda diatur dengan benar ke zsh melalui menjalankan ini di baris perintah Anda:
Menempatkan folloowing di ~ / .tmux.conf Anda adalah opsi yang lebih kuat untuk semua shell.
sumber
chsh -s
) karena tmux menawarkan opsi yang terpisah dari itu.Letakkan baris ini di bagian bawah
~/.tmux.conf
Setelah Anda menambahkan itu, bunuh dan mulai ulang server tmux Anda dan semua akan berfungsi.
sumber
tmux kill-server
adalah perintah untuk mengakhiri semua server tmuxset-option -g default-shell
? di atas sepertinya tidak bekerja dengan shell Ikan.Jika Anda ingin memaksa tmux untuk menggunakan shell yang sama seperti yang ditentukan dalam variabel lingkungan Anda, Anda bisa menggunakan:
di
~/.tmux.conf
atau/etc/tmux.conf
.Untuk mendapatkan perubahan agar benar-benar berlaku, Anda mungkin perlu
tmux kill-server
dan kemudiantmux
untuk me-restart tmux.sumber
Gunakan
chsh(1)
:sumber
Log-out dan log-in kembali memperbaiki masalah saya. Ketika digaungkan
$SHELL
masih/bin/bash
tapi setelah log-out itu diubah menjadi/usr/bin/zsh
sumber
tmux tampaknya menggunakan
SHELL
variabel lingkungan, jadi yang berikut harus berfungsi:atau
sumber
/bin/bash
untuk memastikan tidak ada kerusakan non-iteraktif. ITerm tidak akan mengatur$SHELL
ke nama shell baru (tidak yakin mengapa), dan inisialisasi bash akan mengaturnya ke shell login jika tidak disetel pada saat startup. tmux kemudian menggunakan nilai ini jikadefault-shell
tidak disetel secara eksplisit.env SHELL=/usr/bin/zsh tmux
lebih baik? (memperbarui jawabannya).Tambahkan ini ke dalam
~/.tmux.conf
sumber
Jawaban yang diterima tidak berhasil untuk saya.
Saya harus menulis keduanya
dan
di
~/.tmux.conf
- jangan lupatmux kill-server; tmux
, untuk memuat ulang tmux.confSaya menggunakan
tmux -V
2.6 di bawah Ubuntu 18 di emulator gnome-shell.Saya juga meningkatkan tmux dengan https://github.com/samoshkin/tmux-config . Lihat itu, sangat keren.
sumber
Bagi saya, saya harus mengganti:
dengan
masuk
.tmux.conf
dan jalankan perintahtmux kill-server; tmux
sumber
set-option -g
bukanset -g
. berbagai versi tmux yang paling mungkinset
adalah alias untukset-option
.