Bu yazının yazıldığı sırada Ctrl-Space'in Bash terminalinden geçmesi açısından hiçbir çözüm yoktur (1 Eylül 2016) - ancak birçok kullanıcı için yeterli olabilecek bir geçici çözüm vardır: PuTTY'yi kullanarak Ctrl-Space'in taşınmasını zorlayan SSH. (Tty modunda, aynı karakter kodu oldukları için Ctrl-Space'i Ctrl- @ 'den ayırt etmek imkansızdır, ancak varsayılan Emacs set-mark-command
bu şekilde işlemek için ayarlandığı için bu bir sorun olmamalıdır .)
- OpenSSH sunucusunu ile yükleyin
sudo apt-get install openssh-server
. Önceden yüklenmişse, sudo apt-get remove openssh-server
yapılandırma dosyalarını sıfırlamak için kaldırın ( ) ve ardından yeniden yükleyin.
Düzen / etc / ssh / sshd_config dosyasını (sudo ile), aşağıdaki gibi:
- Önerilmeyen bir hat ayarı varsa
PermitRootLogin
, yorum yapın. Bir satır ekleyin PermitRootLogin no
.
AllowUsers USERNAME
USERNAME yerine Linux kullanıcı adınızı kullanarak bir satır ekleyin (bunun ne olduğunu bilmiyorsanız whoami
, Bash isteminde komutu çalıştırın ).
- İdeal olarak, SSH anahtarlarını kullanarak şifresiz kimlik doğrulaması ayarlamanız gerekir, ancak bunun nasıl yapılacağı bu sorunun kapsamı dışındadır (birçok kılavuz vardır; Web'de "şifresiz ssh-keygen" için arama yapın). Bu süre zarfında, satırı ekleyin veya işaretini kaldırın
PasswordAuthentication yes
.
- Set
UsePrivilegeSeparation no
; büyük olasılıkla dosyada bir satır bulacaksınız UsePrivilegeSeparation yes
; Sadece değiştirmek yes
için no
ve kaydetme / etc / ssh / sshd_config dosyasında.
Burada bir şeyler ters giderse, 1. adımı tekrarlayarak dosyayı geri yükleyebilirsiniz.
- SSH sunucusunu komutla başlatın
sudo service ssh --full-restart
.
- PuTTY'yi ( buradan indirin ) kullanarak
localhost
, Ana Bilgisayar Adı alanında oturum açın , diğer her şey varsayılan olarak bırakılır. Linux kullanıcı adınızı ve şifrenizi girmeniz istenecektir.
- Koş
emacs
. Ctrl-space işareti istediğiniz gibi ayarlayacaktır.
(Not edecek adımlar Yukarıdaki değil , kendileri tarafından, SSH bağlantıları kabul etmek için sistem mümkün hale diğer bilgisayarlar. Bunu yapmak için, ayrıca Gelen TCP portu 22. izin verecek şekilde Windows'un güvenlik duvarı kurallarını değiştirmek zorunda kalacak)
Başka bir cevapta "ama macun yerel bir terminal değil" dediniz. localhost
Bu şekilde kullanabileceğinizin farkında değilseniz veya yerel bir terminale karşı daha büyük yük nedeniyle PuTTY'yi kapattığınızdan emin değilim . İkincisi, endişelenmezdim, etkileşimli bir SSH oturumu son derece hafif bir yüktür. (Kesinlikle bir X Pencere Sistemi çalıştırmaktan çok daha az yüktür, böylece bir GUI Emacs veya bir xterm çalıştırabilirsiniz!)
Düz bir terminale karşı bu şekilde çalışmanın tek dezavantajı, yapıştırma olaylarının panonun içeriğini çok hızlı yazmış gibi, elektrik çiftleri, girinti, snippet genişlemesi vb. ateş. (Gerektiğini Yapıştır değil orada mantık macun tamamlanana kadar devam eden bir yapıştırın ve devre dışı bırakma tuşu-akor algılamak için ateşe anahtar akor komutları neden olarak.)
Ve standart Bash terminaline göre en az bir çok büyük avantaj var: fare olayları PuTTY tarafından Emacs'ın yanıt verebileceği bir biçimde destekleniyor, bu nedenle ironik olarak, noktayı PuTTY'deki fare ile taşıyabilirsiniz, t yerel terminal ile.