Apakah ada jalan pintas tmux hanya untuk membaca?

22

Saya telah menggunakan layar selama bertahun-tahun sekarang sebagai cara untuk memastikan bahwa semua pekerjaan jarak jauh dengan aman tetap terbuka setelah terputus / macet. Bahkan, tentu saja, saya menggunakan layar bahkan ketika bekerja secara lokal.

Baru-baru ini, persyaratan saya telah berkembang ke tahap yang saya beralih ke tmux karena keindahan:

tmux attach -r

Melampirkan sesi saya sendiri dalam mode readonly (-r) berarti saya tidak perlu khawatir tentang tidak sengaja:

  • menempelkan baris sampah di IRC
  • menghentikan proses kompilasi / penyebaran yang penting
  • mengetikkan kata sandi dalam tampilan penuh untuk orang yang lewat

Tentu saja masalahnya adalah bahwa saya harus membuka sesi, Cb + d untuk melepaskan, dan kemudian buka kembali dengan flag -r untuk dibaca. Dan kemudian, ketika saya sesekali ingin berbincang-bincang dengan IRC, mengganggu tugas atau hal lain, saya harus melepaskan lagi dan menyambung kembali dengan normal.

Adakah yang tahu cara membuat ikatan kunci untuk beralih antar mode?

connrs
sumber

Jawaban:

16

Tidak menurut halaman manual , yang hanya memanggil attach -ropsi untuk mengaktifkan mode read-only.

Juga, dalam kode sumber , hanya baris berikut dalam cmd-attach-session.cmenetapkan bendera hanya baca. Sisa kode memeriksa apakah flag ini diset, tetapi tidak mengubah nilainya. Jadi sekali lagi, sepertinya Anda kurang beruntung kecuali Anda dapat membuat (atau meminta) perubahan kode:

    if (cmd_check_flag(data->chflags, 'r'))
        ctx->cmdclient->flags |= CLIENT_READONLY;
Justin Ethier
sumber
1
Terima kasih sudah mendalaminya. Sudah lama sejak saya telah mengembangkan rasa C / C ++ tapi saya rasa saya bisa menaruhnya di tumpukan 'suatu hari nanti'. Sementara itu, tidak ada salahnya memasukkan permintaan fitur jadi saya pergi untuk melakukannya sekarang.
connrs
22

Di dalam tmux 1.9akamu bisa lakukan :switch-client -r. Saya tidak yakin apakah ini baru dalam 1.9a, tetapi itu adalah versi yang saya jalankan dan saya dapat mengubah sesi tmux yang ada menjadi mode read-only.

Matthew J Morrison
sumber
Ini berfungsi baik untuk masuk ke mode read-only, tetapi apakah ada cara untuk keluar dari mode read-only tanpa melepaskan dan melampirkan kembali? Tidak terlihat seperti itu, tetapi itu akan menjadi fitur yang bermanfaat.
richardneish