Mengapa perintah xmodmap saya tidak dapat berjalan pada startup / login?


10

Saya ingin menjalankan perintah ini setiap kali saya masuk (atau setiap kali saya memulai, jika itu tidak berhasil): xmodmap -e 'keysym Delete = Menu' -e 'keysym Menu = Delete'

Saya sudah mencoba banyak hal. Saya memasukkan perintah System > Preferences > Startup Applications. Saya memasukkannya ke dalam .shfile, menandainya chmod +xdan memasukkan file itu ke dalam System > Preferences > Startup Applications. Saya memasukkan script /etc/init.d. Saya memasukkan perintah ~/.profile. Sepertinya tidak ada yang berhasil.

Akhirnya, saya memasukkan ini ke dalam ~/.profile:

touch test1
xmodmap -e 'keysym Delete = Menu' -e 'keysym Menu = Delete'
touch test2

Baik test1 dan test2 dapat dibuat, tetapi kunci masih belum dipetakan kembali. Jika saya hanya menyalin / menempelkan perintah dan menjalankannya secara manual, itu berfungsi dengan baik. Tapi itu tidak akan berjalan saat login. Ada ide?

Jawaban:


11

~/.profileberjalan lebih awal dalam urutan login. Jika lingkungan desktop Anda mengonfigurasi tata letak keyboard, itu dapat menimpa pengaturan yang baru saja Anda muat.

Tempatkan pengaturan Anda dalam file bernama ~/.Xmodmap:

keysym Delete = Menu
keysym Menu = Delete

Di bawah lingkungan Gnome default di Ubuntu 10.04, saat berikutnya Anda masuk, Anda akan diminta untuk memuat ~/.Xmodmap. Muat, dan centang "jangan tanya saya lagi". Maka Anda .Xmodmapakan diterapkan setelah pengaturan default.


Terima kasih, ini bekerja dengan sempurna. Karena penasaran, bagaimana saya bisa kembali ke dialog yang saya centang "jangan tanya saya lagi" karena jika saya ingin beberapa waktu di masa depan?
Matius

1
@Matthew: Belum diuji: luncurkan gconf-editor, jelajahi /desktop/gnome/peripherals/keyboard/general, dan edit known_file_listentri untuk dihapus .Xmodmap.
Gilles 'SO- stop being evil'

Ini bekerja untuk saya di Ubuntu 10.10 beta kembali ketika Anda pertama kali menjawab pertanyaan ini. Saya melakukan instalasi baru Ubuntu 10.10 kemarin, dan meletakkan file .Xmodmap yang identik di folder rumah saya. Ketika saya masuk kembali, saya mendapatkan dialog, memuat .Xmodmap, dan mencentang kotak seperti sebelumnya. Tapi sepertinya itu bukan memetakan kembali kunci. Saya telah memeriksa gconf, dan .Xmodmap sudah pasti ada di known_file_list. Ada ide?
Matius

Ini juga tidak berfungsi untuk saya di Gnome 3.10.1 / Archlinux. Saya ingin tahu apakah ada sesuatu yang belum disesuaikan dalam urutan Gnome memuat tata letak keyboard.
Caleb

Untuk Gnome 3.10 tidak lagi memuat ~ / .xmodmap, saya menemukan solusi yang berfungsi di bbs.archlinux.org/viewtopic.php?pid=1194968#p1194968 : nonaktifkan plugin keyboard Gnome. $ gsettings set org.gnome.settings-daemon.plugins.keyboard active false
plnx

2

Saya menemukan bahwa di tempat di Gconf-Editor yang disebutkan di atas nama tata letak keyboard Anda yang direvisi akan muncul dua kali, sekali di bawah "known_file_list" dan sekali di bawah "update_handlers". Mengapa Ubuntu terkadang memasukkan entri yang terakhir, dan kadang-kadang tidak ... yah, itu membuat Anda tetap waspada, bukan?

Kebetulan, setelah banyak penelitian saya menggunakan tweak di atas untuk menetapkan kembali tombol Windows Kiri. Saya menempatkan pernyataan berikut dalam tata letak keyboard saya sendiri untuk membuatnya menduplikasi tombol Panah Kiri: -

kode kunci 133 = 0xFF51

(Periksa apakah itu adalah kode yang tepat untuk Anda dengan masuk ke xev dan menekan satu tombol terlebih dahulu lalu yang lain.)

Ini hanya poin kecil, tetapi sementara saya di Internet itu memberi saya tombol "Kembali" yang nyaman - Alt + Win dengan tangan kiri. Saya bisa melakukannya tanpa melihat.


1
Alan menulis: "Saya menemukan bahwa di tempat di Gconf-Editor yang disebutkan di atas nama tata letak keyboard Anda yang direvisi akan muncul dua kali, sekali di bawah" known_file_list "dan sekali di bawah" update_handlers "." Saya dapat mengkonfirmasi bahwa Alan benar. Di Ubuntu 10.10, agar file ~ / .Xmodmap Anda berpengaruh, ".Xmodmap" harus muncul di daftar "known_file_list" dan "update_handlers" di bawah / desktop / gnome / peripherals / keyboard / general di gconf -editor. Terima kasih, Alan.

1

Beberapa sistem mencari file bernama ~/.Xmodmapdan menjalankan perintah yang ditemukan di sana. Coba letakkan baris ini di file itu:

keysym Delete = Menu
keysym Menu = Delete
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.