Giriş sırasında Xmodmap'ı nasıl ayarlarım?


46

Klavye düzenim bana uymuyor xmodmap, giriş yaptım . Komut adı verilmiştir .profileve Tamam'ı çalıştırır, ancak Birlik arabirimini keser.

Girişimi nereye koyacağımı ve xmodmapgiriş yapmamı sağlayacak hiçbir şeyi bozmadığını bilmek istiyorum .

Başarısız olmadan .bash_loginve .bash_profiledosyalarına yerleştirmeyi çoktan denedim ( xmodmapklavyemi ayarlamıyor).

Seçeneklerim neler?


4
Birlik arayüzünü nasıl bozar?
djeikyb

Xmodmap yürütme süreniz çok uzunsa, el ile değiştirmediğiniz tüm girişleri kaldırmanız gerektiğini de eklemek isterim. Yalnızca girdi dosyanızdaki değişiklikleri saklamak, xmodmap'in daha hızlı çalışmasını sağlar.
user1071575,

Yanıtlar:


29

Komutu bir başlangıç ​​öğesi ( ) olarak yerleştirebilmenize rağmen, yerleştirilecek doğru yer xmodmap ~/.Xmodmap(değişiklikleriniz başlangıçta okunur). ~/.xinitrc(Aşağıdaki açıklamaya bakın ). 12.04 (ve muhtemelen 12.10) için bu iki seçeneğin kesinlikle işe yaradığını söyleyebilirim, oturum açtıktan sonra okundukları gibi . ( Return to Right Shift'e döndüm ve değişiklik sadece şifremi girdikten ve giriş yaptıktan sonra etkili oldu).xmodmap/usr/bin/xmodmap /home/user/.Xmodmaplightdm

Lütfen dikkat: Eğer Xfce'deyseniz, resmi Xfce SSS’de , kullanmak yerine bir başlangıç ​​öğesi oluşturmanız ~/.xinitrcgerekebileceği ve xmodmapdeğişikliklerin üzerine yazılmaması için yürütmeyi geciktirmek zorunda kalabileceğiniz belirtilmiştir setxkbmap. Başlangıç ​​girişinizde bunu başarmak için bir gecikme kullanabilirsiniz:

/bin/bash -c "sleep 20; /usr/bin/xmodmap /home/$USER/.Xmodmap"

(Başlangıç ​​girişi için mutlak yollar belirtilmesi gerekir)

setxkbmapKlavye düzenini değiştirmek için her seferinde çalıştırıldığında xmodmap ~/.Xmodmap, terminalde tekrar çalıştırmanız gerekecektir .

oluşturma ~/.xinitrc

Denilen klasör Evinizde bir dosya oluşturun .xinitrcile

touch .xinitrc

ve içine yerleştirin:

xmodmap ~/.Xmodmap

Kişisel Xmodmapdosya gerektiğini değil de girdilerine sahip xmodmap -e " "olduğu geçici değerlere ayarlamak için terminalde kullanılan olarak tarzı. Bu formatta girişleri olmalı:

keycode 65 = Tab
keycode 23 = Space

Çoğu zaman çeşitli hangisinin kafa karıştırıcı X(örneğin dosyalar .xprofile, .xinitrcvb) başlangıçta okunur, ama .xinitrcbuna karşın yine de, 12.04 altında okunacak görünüyor .Xmodmapveya .xinputrckendileri tarafından okunmaz.


5
Birlikte değişiklik yaparsanız o Not xmodmap -e '..., sizin için doğru biçimi alabilir xmodmap .Xmodmapile xmodmap -pkeyaptığınız değişikliği uygulamak sadece hatlarına bu aşağı süzmek isteyeceksiniz olsa - Geçerli haritalama dışarı hangi baskılar.
Barry Kelly

1
Bu benim için işe yaramadı. Oluşturduğum .Xmodmap ve .xinitrc | Sonra xmodmap ~ / .Xmodmap'i .xinitrc içine koydum Ve sonra içine .Xmodmad anahtarım 166 = Önceki anahtar kod 167 = Sonraki
miguelmorales85

.xinitrc artık Ubuntu 17.10'da otomatik olarak başlatılmıyor gibi görünüyor. Bu komutu kullanarak Autolaunch gerekecek: / bin / bash -c "uyku 15 && /home/USERNAME/.xinitrc"
thebunnyrules

9

ElementaryOS kullanıyorum (GNOME tabanlı pencere yöneticisi ile) ve xdgotomatik başlatma komut dosyalarını kullanarak bir çözüm buldum . Birçok pencere yöneticisi xdg kullanıyor, bu yaklaşımın diğer ortamlarda da çalışacağını varsayıyorum. En azından GNOME ile çalışmalı.

xdg ~/.config/autostartbir X oturumunda oturum açtıktan sonra komut dosyalarını çalıştırın . Giriş yaptıktan sonra xmodmap config'i yüklemek için aşağıdaki komut dosyasını ekleyin ~/.config/autostart/xmodmap.desktop:

[Desktop Entry]
Name[en_US]=Xmodmap
Comment[en_US]=xmodmap ~/.Xmodmap
Exec=/usr/bin/xmodmap .Xmodmap
Icon=application-default-icon
X-GNOME-Autostart-enabled=true
Type=Application

Ardından oturumu kapatıp tekrar oturum açın; Xmodmap yapılandırmanız yüklenmiş olmalı.

Çalışmıyorsa, şikayet eden bir xmodmap olup olmadığını görmek için terminalde xmodmap'i çalıştırmayı deneyin:

$ xmodmap ~/.Xmodmap

Herhangi bir hatayla karşılaşmazsanız, hata ayıklamak için aşağıdaki komutu çalıştırın:

$ sudo cat /var/log/syslog | grep -B 5 -A 5 xmodmap

Linux Mint 17'de (dayanarak: Ubuntu 14.04.5), otomatik başlatma yaklaşımı bir ~/.xinitrcdosyayı kullandıktan sonra benim için mükemmel çalıştı . Hxpax'ın belirttiği gibi, Mint kullanıcıları (muhtemelen Debian'dan türetilmiş Linux'ların çoğu), otomatik başlangıç ​​girişlerini eklemek için bir GUI iletişim kutusu kullanabilir Main Menu --> Preferences --> Startup Applications.
matt

2
Çalıştı ubuntu 18.04
TooTone

2

Şu anda önümdeki birlik arayüzüne sahip değilim, ancak başlatıcıdaki Uygulamalar düğmesine tıklamayı deneyin, ardından başlangıç ​​yazın. Başlangıç ​​Uygulamaları (veya bunun gibi) adında bir uygulama olmalıdır. Tıklayın ve xmodmap komutunuzu ekleyin (örn. xmodmap /home/thiago/.Xmodmap).


Bunu bir süre önce denedim ama bu benim için işe yaramadı. Şu anda penceredeyim ama daha sonra tekrar deneyeceğim ve işe yarayıp yaramadığını burada bildireceğim. thx
Thiago Moraes

2
@Thiago Moraes Bu temel komut çalışıyor mu (değilse, hatayı yayınlayın)? xmodmap .Xmodmap
djeikyb

+1 bu işe yarıyor. Daha açık olmak gerekirse .Xmodmap
pwned

3
bu çalışmıyor. 16.04
miguelmorales85

@ miguelmorales85 temel komut sizin terminalinizde çalışıyor mu? mutlak bir yol kullanmayı denediniz mi?
djeikyb

2

Nane 17 / 18'de, bu senaryoyu 1 saniye gecikmeli olarak senaryolarımı Başlangıç ​​Uygulamasına koymayı başarabilirim.

Mint 18, Ubuntu 1604'ten türetildiği için, aynı şeyi yapabileceğinizi ya da orada değilse önce Başlangıç ​​Uygulaması yönetim panelini yükleyebileceğinizi düşünüyorum.

Umarım yardımcı olur.


+1 iyi çalışıyor. Linux Nane 17'de gecikmeye ihtiyacım olmadı.
mattst

@ mattst Evet, gecikme isteğe bağlıdır.
hxpax

Bunun çalışması için 5 saniyelik bir gecikmeye ihtiyacım vardı. Bu nedenle aşağıdaki başlangıç shell script kullandı: gist.github.com/ghagerer/58212241e37229f9d6fe3a133b34be97
Gerhard Hagerer

0

Yukarıdaki önerilerden hiç hoşlanmıyordum (.bashrc seçeneği, her yeni terminalde xmodmap çalıştığından gerçekten uygun değildi).

Giriş xmodstartup.shklasörümdeki bir komut dosyasına dokundum

  #!/bin/bash           
  sleep 1;               
  echo "running xmodmap" 
  xmodmap ~/.Xmodmap     

onunla kurtardı, sonra yaptım sudo chmod +x xmodstartup.sh

sonra çalıştırılabilir dosyayı gnome'un "başlangıç ​​uygulaması tercihleri" penceresine ekledim. bish bosh, ingilizce düzeni y español altgr:)


-1

Xmodmap öğesinin içine değişiklikler koymak ~/.bashrcveya /etc/bash.bashrchiçbir şeyi bozmamak .

Sadece olumsuz, birinin aktif hale getirilmesi için her açılıştan sonra bir terminal açmak zorunda olmasıdır.


3
Bunu zaten yapıyorum, ancak sorun şu ki açtığım her terminalde bu komutun çalıştırılması. Sadece bir an ama biraz can sıkıcı ve gerçek bir çözümü tercih ederim. Yine de thx
Thiago Moraes
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.