~ / .Xmodmap dosyam girişte neden yüklenmiyor?


16

Bu cevaba~/.Xmodmap göre aşağıdaki dosyayı oluşturdum .

keysym Delete = Menu
keysym Menu = Delete

clear Lock
keycode 0x42 = Escape

Bir başka deyişle, takas olarak Deleteve Menuve yapmak Caps Lockek Escape.

Bir sonraki girişimde Ubuntu ~/.Xmodmapbeklediğim gibi yüklemek isteyip istemediğimi sordu . Yükledim, ancak hiçbir şey olmadı (o zaman veya sonraki girişlerde). Manuel olarak çalıştırırsam xmodmap ~/.Xmodmap, beklendiği gibi çalışır.

Bunun 10.10 beta sürümünde erken çalıştığını biliyorum, ancak yeni 10.10 kurulumumda başarısız oluyor. 10.10'dan daha önce denemedim. Herhangi bir fikir?

Düzenleme: Yüklendiğinden /etc/gdm/Xsessionemin olmak için bazı hata ayıklama ifadeleri koydu ~/.Xmodmapve her şey sihirli bir şekilde çalışmaya başladı. Biraz ekos eklemek dışında hiçbir şeyi değiştirmedim ve değişikliklerimi geri alıp yeniden başlattığım için hala çalışıyor. Gördüğüm en garip şey.

Fark ettiğim bir şey, Xmodmap'ın "Remap Caps Lock to Escape" bölümünün her zaman çalıştığıydı. Başarısız olan sadece Sil / Menü takasıydı. Sorunun neden durduğunu bilmediğim için, başka birinin aynı sorunu olması durumunda bu soruyu şimdilik açık bırakacağım.


Aynı sorunu kendim de yaşıyorum, beni deli ediyor. Nedeni anlarsam, bir cevap gönderdiğinden emin olacağım.
Jorge Israel Peña

Yanıtlar:


11

Aptalca olduğunu biliyorum ama bir çözüm olarak sadece otomatik olarak başlayabilirsin xmodmap ~/.Xmodmap.

Ayrıca /etc/gdm/Xsessionsatırı kontrol edebilirsiniz usermodmap="$HOME/.Xmodmap"ve eğer orada değilse sadece dosyanın sonuna ekleyin. Sistemin tek kullanıcısıysanız, değişikliklerinizi yapın /etc/X11/Xmodmap.


2
"Otomatik başlatma" komutlarını nasıl kullanıyorsunuz?
miguel.martin

Bkz. Otomatik başlatma . En kolayı muhtemelen Settings->Session and Startupbu satırlara bir giriş veya bir şey eklemektir .
Mateen Ulhaq

Veya örneğin, kabuğunuza ekleyin, bu yüzden sık sık kabukları açarsanız, onu çalıştıracaktır. Gnome'a ​​girdiğimde yaptığım ilk şey çoğu zaman bir kabuk açmak, bu yüzden işe yarayan bir yol bu.
trusktr

3

Partiye geç, ama bu da beni deli etti; ve inatçı olduğum gibi, vazgeçmek bir seçenek değildi.

Temelde bu denedim, (benim kullanıcı olarak veya gerekirse kök)

  • Sadece ~ / .Xmodmap
  • ~ / .xsession, ~ / .xsessionrc
  • ~ / .Gnomerc
  • ~ / .Xprofile
  • ~ / .Xinitrc
  • /etc/X11/Xsession.d/myscript
  • /usr/share/X11/xorg.conf.d/ ( yapılandırma dosyaları, dokunmadı )

(Aslında, xmodmapkomutun ~/.bashrcçalışmasına eklenmesi , ancak giriş yaptıktan sonra her seferinde bir terminalin başlatılması gerekir)

Birkaç yıl önce (?), xkbAnahtar eşleştirme ve yapılandırma (X ile arabirim oluşturma) ile başa çıkmak için seçildi, ancak X oturumu başlatma sırasında yaptığı çalışmadan xmodmapsonra X ile ilgili önemli değişiklikler talep edebilir xkb.

Sorun şu ki, bu xmodmap ayarları ne zaman gerçekleşmeli? Görünüyor bu yukarıdaki dosyalar çok erken sürecinde işlenir, ve ya X değişiklikleri xmodmap kabul etmeye hazır değildi, ya xkb bunların üzerine olacaktır. Not: Bu dosyalara bir süre çalıştıklarından emin olmak için bir miktar "izleme" ekledim!


İşe yarayan bir çözüm

.desktopBaşlangıçta bir dosya eklemek için istekli değildim (basit bir satır komut dosyası yeterli olmalıydı), ama işe yarıyor, işte burada.
Çözüm , Linux'ta özel klavye tuşlarını nasıl yeniden eşleştirebilirim veya değiştirebilirim? "çözüm 1"

Temel olarak ~/.config/autostart/my-xmodmap.desktopdosya oluşturun ve içine koyun:

[Desktop Entry]
Name=MyXmodmap
Exec=/usr/bin/xmodmap /home/me/.Xmodmap
Terminal=false
Type=Application
X-GNOME-Autostart-enabled=true

mekullanıcı adınızla değiştirin (denemek için uğraşmadığımı ~/veya $HOMEbunun yerine iyi çalışabileceğini /home/meve xmodmap'ın tam yolunun gerekli olmadığını unutmayın ...) ve exec bitini ekleyin

chmod +x ~/.config/autostart/my-xmodmap.desktop

Bu durumda xmodmap komutlarının bir ~/.Xmodmapdosyada olması gerekir (veya -eseçeneği kullanın veya başka bir dosya adı seçin!). Oturumu kapatıp tekrar açın.

Başlangıç ​​programını "Başlangıç ​​Uygulamaları" ndan oluşturabileceğinizi unutmayın.

Başka bir çözüm, xmodmap'i unutmak ve nasıl yapılandırılacağını öğrenmek olacaktır xkb!

Düzenle (tekrar)

Bazen, oturum açmaların% 25'i xmodmaphala çalışmıyor gibi görünüyor - komut gerçekten çalıştırılırken (bir izleyici bunu kanıtlıyor). Şu anda gelebileceğim tek sonuç, xkbişlemin oturum açma işleminde geç çalıştığı ve çalıştıktan sonra sona xmodmaperebileceğidir. Bir yarış koşulu gibi görünüyor ... Son olarak, autostart masaüstü dosya execsatırını

Exec=$HOME/bin/mystart &

(not &) oluşturduğum mystartyeni bir dizindebin

#!/bin/bash    
sleep 5
/usr/bin/xmodmap /home/me/.Xmodmap &
date >> /tmp/xmodmap-has-run

ve

chmod u+x ~/bin/mystart

Komut dosyası xmodmap'i çalıştırmak için 5 saniye önce uyur ve ne zaman çalıştırıldığını (dosyada /tmp/xmodmap-has-run) izler .

Umarım hepsi bu kadar!


Düzenleme xkb confituration benim için çalıştı: askubuntu.com/a/1090892/1021380
postrational


2

Belki de ~/.Xmodmapdosyanızda bir sözdizimi hatası var ?

Koşmayı deneyin:

$ xmodmap ~/.Xmodmap

Varsa bir hataya neden olur.


0

Oturumumda oturum açarken Xmodmap'ımı başlatmaya çalışırken aynı garip problemim vardı (ubuntu 13.04). Sonunda komutumu koyduğum Home klasörümde bir .xinitrc dosyası ile çalıştım, ancak mutlak yollarla, yani:

/ usr / bin / xmodmap /home/MYNAME/.Xmodmap

Sonra idam edilecek böylece (sadece relog değil) yeniden başlatmak zorunda kaldı.


2
Bu benim için Ubuntu 14.04 altında çalışmaz.
miguel.martin
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.