Bagaimana cara menonaktifkan Alt-Arrow switching dari Virtual Consoles?

37

Berikut ini terjadi pada Linuces yang berbeda:

Ketika saya berada di konsol virtual, tahan Altdan tekan atau , siklus ttys virtual. Ini benar-benar menjengkelkan karena saya menggunakan shell ikan yang juga menggunakan kombo kunci ini. Saya bisa membuat ulang jalan pintas ikan, tetapi saya tidak mau. Sebaliknya saya ingin menonaktifkan fungsi linux atau memetakannya kembali.

Bagaimana saya bisa menonaktifkan atau mengubah tty-cycling-key-combo?

Max Ried
sumber
2
Sebuah jawaban yang dapat membantu Anda: superuser.com/questions/290115/…
Didi Kohen

Jawaban:

14

Anda dapat menggunakan loadkeysperintah untuk memetakan kembali kunci pada konsol Linux. Baris berikut menentukan ikatan kunci untuk berganti konsol (pada keyboard PC):

alt keycode 105 = Decr_Console
alt keycode 106 = Incr_Console

Muat file keymap Anda sendiri yang menimpa binding ini dengan urutan pelarian yang dikenali ikan. Untuk membuat kunci mengirim urutan melarikan diri, Anda harus mengikatnya ke nama kunci formulir dan menentukan urutan karakter untuk .FNUMBERFNUMBER

alt keycode 105 = F105
alt keycode 106 = F106
string F105 = "\033\033[D"
string F105 = "\033\033[C"

Distribusi yang berbeda (dan terkadang paket yang berbeda untuk dukungan konsol) menyimpan keymap waktu boot sistem di lokasi yang berbeda di bawah /etc. Carilah file bernama *.kmapatau *.kmap.gzatau *.mapatau *.map.gzdi bawah /etcatau berkonsultasi dengan panduan manual distribusi Anda. Beberapa distribusi menyimpan nama keymap /etcdan meletakkan keymap yang sebenarnya di tempat lain; mencari pengaturan terkait keymap di bawah /etc/sysconfigatau direktori konfigurasi lainnya.

Anda dapat menulis keymap Anda sendiri dan menggunakannya include "/path/to/foo.map"untuk referensi keymap sistem, atau mengatur untuk memuat keymap Anda sendiri yang hanya berisi pengaturan yang ingin Anda ubah selama proses boot.

Gilles 'SANGAT berhenti menjadi jahat'
sumber
Apakah Anda yakin tentang .kmapekstensi? Saya tidak dapat menemukan file di Fedora 20, tetapi di sisi lain saya menemukan /lib/kbd/keymaps/legacy/i386/qwerty/us.map.gz.
Cristian Ciupitu
@CristianCiupitu Saya buruk, saya seharusnya menyebutkan cara lain ini bisa dilakukan. Saya pikir bahwa pada Fedora ada pengaturan di suatu tempat di /etc/sysconfigyang menentukan nama file keymap untuk memuat pada saat startup.
Gilles 'SO- stop being evil'
Haruskah saya mendapatkan setup saya dumpkeys, simpan, ubah dan ubah /etc/sysconfig? Akankah itu membuatnya gigih?
Max Ried
@Gilles, mungkin halaman manual untuk systemd-vconsole-setup.service dan [vconsole.conf] ( freedesktop.org/software/systemd/man/vconsole.conf.html ) dapat menjelaskan hal ini.
Cristian Ciupitu
@ MaxRied Saya sarankan menjaga keduanya terpisah, akan lebih mudah untuk mempertahankan. Ubah referensi /etc/sysconfigke file yang berisi includearahan keymap standar.
Gilles 'SANGAT berhenti menjadi jahat'
44

Berikut ini satu perbaikan:

sudo sh -c 'dumpkeys |grep -v cr_Console |loadkeys'
Tobu
sumber
Saya sarankan menambahkan ini sebagai perintah di 'aplikasi startup'.
Samy Bencherif
20

Saya refactored jawaban Tobu untuk mengubah hanya yang benar-benar diperlukan:

sudo sh -c 'dumpkeys -k|grep -v Incr_Console|grep -v Decr_Console|grep -v Last_Console|loadkeys'

NB: Seperti yang dikatakan ini adalah perbaikan satu kali, dan mungkin akan hilang setelah reboot.

Gunar Gessner
sumber
1
Dua perbaikan: 1. Dump binding kunci saja, untuk menghindari kesalahan sintaksis pada loadkey; 2. Juga singkirkan Last_Console (Alt + Tab): sudo sh -c 'dumpkeys | grep -v Incr_Console | grep -v Decr_Console | loadkeys' Terima kasih banyak untuk ini!
Ruben Thomas
Lebih jauh dari komentar saya sebelumnya, saya menemukan bahwa lampu Caps Lock masih menyala dan padam (meskipun Caps Lock masih dipetakan untuk Kontrol pada sistem saya). Untuk memperbaikinya, memfilter baris yang mengandung Caps_Lock tidak berfungsi, karena itu satu-satunya pemetaan untuk kode kunci yang relevan, jadi jangan ditimpa ketika daftar pemetaan yang difilter dimuat ulang. Pada akhirnya, solusi paling sederhana adalah membuang keymap "dikenal bagus", dan kemudian secara eksplisit memuatnya.
Ruben Thomas
14

Terkadang saya memiliki masalah dengan Ubuntu 18.04:

sudo kbd_mode -s

Melakukan pekerjaan. (setidaknya untuk sementara)

Anda dapat menemukan laporan bug panjang di sini di launchpad .

Gulungan
sumber
Bagaimana cara kerjanya? Saya ragu untuk bereksperimen karena halaman manual mengatakan "Peringatan: mengubah mode keyboard, selain antara ASCII dan Unicode, mungkin akan membuat keyboard Anda tidak dapat digunakan."
nshiff
1
Hai, saya telah menambahkan tautan.
COil
Terima kasih! Ini berhasil. Saya mencoba mengklik "Ya, itu mempengaruhi saya" di bugs.launchpad.net/ubuntu/+source/console-setup/+bug/520546 tetapi saya tetap mendapatkan kesalahan batas waktu. Adakah cara untuk memperbaikinya?
6005
Seharusnya untuk sementara saya kira atau Anda harus mengisi laporan bug untuk sistem pelaporan bug itu sendiri! : p
COil