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.