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

13

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?

Matius
sumber
jangan memposting pertanyaan yang sama di beberapa situs Stack Exchange (kecuali jika pertanyaannya on-topic di kedua situs dan Anda sudah menunggu lama dan tidak memiliki jawaban yang bagus di situs pertama, tetapi kemudian sertakan tautan ke yang asli pertanyaan).
Gilles 'SO- stop being evil'
@Gilles: Apakah itu kebijakan resmi? Sepertinya jika ada topik pada kedua situs, maka kedua situs dapat memperoleh manfaat darinya. Tetapi jika ini sudah dibahas dan diputuskan, saya akan berhati-hati di masa depan.
Matius
Saya pikir ada entri FAQ resmi tentang ini, tetapi saya tidak dapat menemukannya. Saya sudah bertanya tentang meta .
Gilles 'SO- stop being evil'

Jawaban:

5

Bergantung pada distribusi Anda, ~/.xsessionfile dieksekusi (skrip shell) ketika masuk ke X. Dan / atau ~/.Xmodmapfile tersebut bersumber dari suatu xmodmapproses.

The ~/.profilefile hanya dieksekusi oleh shell login (dengan atau tanpa X), sehingga tidak tempat yang tepat

maxschlepzig
sumber
6

Masukkan ~/.Xmodmap. Beberapa distro mencari ~/.Xmodmapbukan ~/.xmodmaprc. Ini bekerja untuk saya di Fedora 16.

Bank Qian
sumber
Ini adalah solusi terbaik untuk debian
UnLoCo
1

Masukkan ~/.xsessionrcdan pastikan yang /etc/X11/Xsession.optionsberisi allow-user-xsession.

Peter Eisentraut
sumber