Tidak ada solusi untuk ini, dalam hal membuat Ctrl-Space melewati terminal Bash, pada saat penulisan ini (1 Sep 2016) —tapi ada solusi yang mungkin cukup untuk banyak pengguna: gunakan Putty untuk terhubung melalui SSH, yang memaksa penanganan Ctrl-Space. (Dalam mode tty, mustahil untuk membedakan Ctrl-Space dari Ctrl- @, karena mereka adalah kode karakter yang sama, tetapi itu seharusnya tidak menjadi masalah, karena secara default Emacs diatur untuk menangani hal set-mark-command
itu.)
- Instal server OpenSSH dengan
sudo apt-get install openssh-server
. Jika sudah diinstal, hapus ( sudo apt-get remove openssh-server
) lalu instal ulang untuk mengatur ulang file konfigurasi.
Edit file / etc / ssh / sshd_config (dengan sudo), sebagai berikut:
- Jika ada pengaturan garis tanpa
PermitRootLogin
komentar, komentari. Tambahkan satu baris PermitRootLogin no
.
- Tambahkan baris
AllowUsers USERNAME
, ganti USERNAME dengan nama pengguna Linux Anda (jika Anda tidak tahu apa itu, jalankan perintah whoami
di Bash prompt Anda).
- Idealnya Anda harus mengatur otentikasi tanpa kata sandi menggunakan kunci SSH, tetapi bagaimana melakukannya di luar ruang lingkup pertanyaan ini (ada banyak panduan yang tersedia; cari web untuk "kata sandi ssh-keygen"). Sementara itu, tambahkan atau batalkan komentar pada baris
PasswordAuthentication yes
.
- Atur
UsePrivilegeSeparation no
; kemungkinan Anda akan menemukan baris dalam file yang mengatakan UsePrivilegeSeparation yes
; cukup ubah yes
to no
dan simpan file / etc / ssh / sshd_config .
Jika terjadi kesalahan di sini, Anda dapat memulihkan file dengan mengulangi langkah # 1.
- Mulai server SSH dengan perintah
sudo service ssh --full-restart
.
- Menggunakan Putty (unduh di sini ), masuk dengan
localhost
di bidang Hostname, semuanya dibiarkan sebagai default. Anda akan diminta memasukkan nama pengguna dan kata sandi Linux Anda.
- Lari
emacs
. Ctrl-space akan mengatur tanda yang diinginkan.
(Perhatikan bahwa langkah-langkah di atas tidak akan , dengan sendirinya, membuat sistem Anda dapat menerima koneksi SSH dari host lain . Untuk melakukan itu, Anda juga harus mengubah aturan firewall Windows Anda untuk mengizinkan inbound TCP port 22.)
Di jawaban lain Anda berkata, "tapi dempul bukan terminal lokal." Saya tidak yakin apakah Anda tidak sadar bahwa Anda dapat menggunakan localhost
cara ini, atau jika Anda menolak Putty karena overhead yang lebih besar dibandingkan terminal lokal. Jika yang terakhir, saya tidak akan khawatir, sesi SSH interaktif adalah beban yang sangat ringan. (Ini tentu jauh lebih sedikit beban daripada menjalankan Sistem X Window sehingga Anda dapat menjalankan GUI Emacs atau xterm!)
Satu-satunya kelemahan nyata untuk menjalankan cara ini versus terminal langsung adalah bahwa acara tempel dikirim surat demi surat, seolah-olah Anda mengetik konten clipboard dengan sangat cepat, yang dapat menyebabkan pasangan listrik, indensi, ekspansi snippet, dll. Ke api. (Tempel seharusnya tidak menyebabkan perintah kunci-chord menyala, karena ada logika untuk mendeteksi pasta yang sedang dalam proses dan menonaktifkan kunci-kunci sampai pasta selesai.)
Dan setidaknya ada satu keuntungan yang sangat besar atas terminal Bash standar juga: acara mouse didukung oleh Putty dalam bentuk yang dapat ditanggapi Emacs, jadi, ironisnya, Anda dapat memindahkan titik dengan mouse di Putty bahkan jika Anda bisa ' t dengan terminal lokal.