Saya tidak dapat menjalankan xmodmap saat login di Ubuntu 13.04. Saya telah mencari-cari, termasuk di askubuntu dan semua jawaban yang saya temukan tidak berfungsi.
Saya memiliki file bernama .Xmodmap di folder rumah saya yang berisi pemetaan yang diinginkan. Jika saya menjalankannya secara manual itu berfungsi dengan baik, jadi tidak ada kesalahan di sana. Untuk membuatnya berjalan saat startup, saya telah mencoba:
Menggunakan berbagai
.xinitrc
berisi salah satu dari perintah berikut:xmodmap .Xmodmap
xmodmap ~/.Xmodmap
/usr/bin/xmodmap /home/NAME/.Xmodmap
if [ -s ~/.Xmodmap ]; then
xmodmap ~/.Xmodmap
fi
Menggunakan
.Xresources
alih-alih.xinitrc
dengan variasi yang sama.Mengaturnya sebagai aplikasi startup.
Tidak satu pun di atas berfungsi di Ubuntu 13.04 (64-bit) Saya juga melihat beberapa ide tentang mengubah pemetaan keyboard secara global, tetapi kebanyakan dari mereka tidak berlaku di Ubuntu 13.04 (yaitu file yang sesuai tidak ada di tempat yang ditentukan) dan saya lebih suka tidak menyentuh pengaturan global.
unmodified
shift
altgr*
shift+altgr
. Tapi bagaimana denganleft alt
dansuper key
?xkb
. Selain samar, ini memiliki masalah bahwa peta khusus Anda dihapus ketikaxkb
diperbarui.Bagi saya, konfigurasi xkb terlalu rumit jika Anda ingin memetakan ulang 1 atau 2 kunci dengan cara yang tidak tersedia di Pengaturan Sistem. Plus, solusinya harus tetap di sisi pengguna, tanpa mengedit '/ usr / share / X11 / xkb / simbol /' dll. Memaksa beban 'xmodmap ~ / .Xmodmap' menggunakan Aplikasi Startup hanya berfungsi sampai Anda menangguhkan, mengubah pengguna atau ubah tata letak keyboard. Jadi, seperti yang disarankan holocronweaver, dengan potongan kode yang saya temukan, saya membuat skrip python untuk dimuat pada sesi startup, yang memuat ulang '~ / .Xmodmap' saat diperlukan.
Periksa laporan bug # 1243642 (komentar # 6), dan unduh di sini .
sumber
Saya mengalami masalah ini di Ubuntu 14.04, dan menemukan solusinya di sini . Rupanya, Ubuntu tidak dapat mengkonfigurasi keyboard segera setelah masuk, tetapi itu sedikit kemudian. Jadi, jika Anda menambahkan perintah
untuk
~/.bash_profile
itu harus bekerja (itu untuk saya).EDIT: Ini tampaknya berfungsi hanya setelah masuk, bukan setelah memulai. Saya harus menyelidiki ini nanti.
sumber
xmodmap ~/.Xmodmap
:(Konversi Caps Lockmenjadi Escuntuk
vim
digunakanBerikut ini adalah varian saya dari skrip startup pemetaan kunci. Itu dikonversi Caps Lockmenjadi Escpada keyboard apa pun untuk digunakan
vi
,vim
ataugvim
.Berbeda dengan jawaban q4w56 , jawaban ini tidak menggunakan
while; do
loop tak terbatas . Kalau tidak, satu inti dari CPU dual core saya akan mencapai 42% setiap 5 detik, sangat mengurangi daya baterai laptop saya.Simpan sebagai skrip. Jadikan file dapat dieksekusi dengan
chmod +x
. Tambahkan nama dan lokasi skrip keSession and Startup → Application Autostart
(dalam Xubuntu).Perilaku keyboard untuk pengguna ini akan tetap bertahan melalui reboot dan logout, tetapi tidak ditangguhkan. Kegigihan melalui penundaan dapat dicapai , tetapi sayangnya hanya di tingkat sistem, tidak siap di tingkat pengguna.
Dasar pemikiran untuk memetakan kembali keyboard ini
Dalam dunia komputasi saat ini hanya ada sedikit penggunaan yang tersisa untuk Caps Lockkuncinya. Secara umum, seseorang harus menahan diri dari menggunakan SEMUA CAPS berdasarkan netiket dan pemisahan presentasi dan konten . Selain itu, secara tidak sengaja menekan Caps Locktombol sementara mengedit teks dengan
vim
tidak selalu langsung dicatat, tetapi selalu menghasilkan perilaku yang agak menggangguvim
lebih lanjut. Menonaktifkan Caps Lockkunci bersama-sama dan menggunakan ulang sebagai Esckunci untuk mencapai hasil kunci dalam kemenangan ganda untukvim
digunakan.sumber
Caps Lock
tombol mungkin merupakan penghemat kehidupan nyata bagivim
pengguna di Apple MacBooks tanpaEsc
kunci .capslock
kectrl
. Ini memecahkan lebih banyak masalah, dan di Vim, maka, Anda dapat menggunakancapslock
+[
untukEsc
Maaf untuk campur tangan, tetapi saya merasa berkewajiban untuk menyarankan ini.How do you use vim after you close the lid on your laptop?
Dengan membuka tutupnya tentu saja!Saya punya masalah juga di Ubuntu 16.04 dengan fcitx, dan punya solusi pada fcitx wiki , tetapi perlu fcitx memiliki 4.2.7 atau lebih baru
touch ~/.Xmodmap
Ada juga yang punya alasan.
sumber
@ Jawaban Daniel menunjuk saya ke arah yang benar, tetapi saya ingin memperpanjangnya.
Bekerja untuk saya di Linux Mint 17.2 dan Ubuntu 16.04.
Saya mencoba semua tikungan yang bisa saya pikirkan untuk tetap digunakan
xmodmap
, tetapi semuanya gagal ketika sistem beralih ke mode tidur. Hal yang sama berlaku untuk skrip start-aplikasi yang digunakansetxkbmap
dalam kasus di mana * pengaturan-daemon (bagi saya itu xfce4) berjalan lebih lambat dari skrip --- dan ketertiban tidak dapat benar-benar dipengaruhi.Apa yang akhirnya saya dapatkan memiliki bahan-bahan berikut:
1) Tulis file pemetaan keyboard minimal untuk
/usr/share/X11/xkb/symbols
. Mari kita panggil filemylayout
itu bisa sesederhanabasic
hanya sebuah nama, kita akan bertemu lagi nanti.name[Group1]
sama hanya nama tampaknya, tetapi akan memainkan peran kemudian.include "us"
termasuk keyboard us polos. Sebenarnyaus
adalah file lain di direktori yang sama. Ini adalah tata letak keyboard yang kami beradaptasi. Pilih yang berbeda sesuai kebutuhan. Catatan: tidak ada titik koma untuk mengakhiri baris ini.key
line adalah salah satu adaptasi dari keyboard, lebih dapat mengikuti. The<AE03>
dapat ditemukan di file di bawah/usr/share/X11/xkb/keycodes
. Gunakanxev
program untuk mengetahui bahwa "3" -kunci memiliki kode kunci 12 dan dalam file kode kunciXfree86
itu dipetakan ke<AE03>
.include
arahan lain untuk mengaktifkan opsi keyboard lain, dalam hal ini saya ingin memiliki tombol Alt yang tepat untuk menjadi tombol shift level-3, yaitu tombol yang memberikan akses kesterling
tanda yang saya tetapkan di atas.level3
hanya nama file dalam folder yang sama denganralt_switch
satu bagiannya. Lihatlah sekeliling dan pilih apa yang perlu Anda sertakan.2) Saya tidak memasukkan
mylayout
ke dalam folder sistem. Sebaliknya saya hanya membuat tautan lunak dari folder sistem ke folder yang saya sukai untuk segera melihat bahwa ini bukan perangkat lunak stok.3) Selanjutnya saya tidak memperbaiki
evdev.xml
, lagi untuk mencegah kerepotan pembaruan. Tetapi ini akan diperlukan untuk menemukan mylayout di editor konfigurasi keyboard (untuk xfce4 ituxfce4-keyboard-settings
). Sebaliknya saya menggunakanxfce4-settings-editor
dan mengubahkeyboard-layout->XkbLayout
kemylayout
(nama file) danXkbVariant
kebasic
(lihat di atas). Setelah itu,mylayout/basic
ditampilkan di editor pengaturan keyboard juga. Entri masukevdev.xml
tampaknya hanya diperlukan untuk dapat memilih tata letak.Dengan cara ini, pengaturan keyboard sekarang bertahan dari mode tidur dan reboot.
Lebih banyak latar belakang dapat ditemukan di sini: http://www.charvolant.org/~doug/xkb/html/node5.html .
Pendekatan lain untuk memperbaiki masalah mode tidur (tidak mencoba sendiri), dapat ditemukan di sini: https://www.vinc17.net/unix/xkb.en.html .
UPDATE: bekerja dengan Mint 18.3 saat yang sama saya mengubah pengaturan di xfce4-settings-editor seperti dijelaskan di atas.
UPDATE: Dengan 18,04, gdm3 sebagai manajer tampilan dan XFCE4 sebagai manajer jendela, sepertinya ~ / .Xmodmap dibaca lagi dan pengaturan tampaknya bertahan dari penundaan. (Saya jarang menggunakan suspend dan saya tidak pernah yakin dengan mode mana laptop itu benar-benar ada.)
sumber
REVISI
Pembaruan di awal 2018 memecah kegigihan - auto-reload keymap setelah ditangguhkan atau hibernasi. Karena metode yang menggunakan skrip /etc/pm/sleep.d berhenti bekerja (tidak digunakan lagi?), Yang hanya menyisakan cara yang lebih baru, menggunakan / lib / systemd / system-sleep dan skrip yang sedikit berbeda (yang mulai bekerja pada keymaps!).
Jadi posting ini diperbarui ke metode yang lebih baru untuk ketekunan, dan untuk memasukkan pemuatan keymap awal normal, yang juga mulai berfungsi. Rutin untuk mengonversi file .Xmodmap ke .xkbmap tetap tidak berubah.
Perhatikan ini adalah solusi per pengguna. Untuk jawaban per perangkat, lihat cara menerapkan peta tombol ke satu perangkat . Metode ini dapat disesuaikan untuk digunakan di sini.
Pertama-tama, modifikasi file .Xmodmap sesuai keinginan. Ini lebih mudah untuk diedit secara langsung daripada file .xkbmap. Saat dimuat:
lalu konversikan ke file .xkb:
Untuk memuat secara otomatis saat startup, buka Aplikasi Startup, klik Tambah, dan pada baris Perintah masukkan:
("pengguna" diganti dengan nama pengguna yang sebenarnya.) Untuk Nama, mungkin masukkan Load Keyboard Map. Tambahkan komentar jika diinginkan dan tekan Simpan.
Keymap sekarang akan memuat setiap kali sistem melakukan boot, tetapi tidak akan selamat dari penundaan atau hibernasi. Untuk ini, buat file baru di / lib / systemd / system-sleep, mungkin bernama 60_xkbmap, yang berisi:
( Ref. ) Seperti di atas, ganti "pengguna" dengan nama pengguna sebenarnya.
Keymap sekarang harus memuat secara otomatis dan tetap bertahan. catatan:
sumber
Ini membuat saya tersandung juga, ketika saya memutakhirkan dari Ubuntu 12,04 ke 13,04.
Untungnya pengaturan ini sekarang (atau mungkin selalu) mudah diakses di preferensi Keyboard dan dapat diubah dengan beberapa klik mouse.
Ini dia: Kontrol Kiri dan Caps Lock telah mengubah posisi.
Jangan lupa menghapus
~/.Xmodmap
setelah Anda melakukan perubahan.sumber
XKBOPTIONS="ctrl:swapcaps"
masuk/etc/default/keyboard
.Saya merasa menambahkan skrip ini ke startup memuaskan:
Saya mencoba menggunakan
xmodmap ./Xmodmap
, tetapi setiap kali dieksekusi, kelambatan yang nyata akan terjadi.sumber
while; do
loop tak terbatas harus dihindari. Ini menyebabkan satu inti dari CPU dual core saya mencapai 42% setiap 5 detik, sangat mengurangi daya baterai laptop saya!