GNOME / birlik içinde setxkbmap ile klavye düzeni seçeneklerini kalıcı olarak ayarlayın


28

Ubuntu 13.10 1 (ve belki de yukarı akım gnome) çok can sıkıcı bir hata ortaya çıkardı : klavye düzeni anahtarı kısayoluna basılması, odağın bazı sistem pencerelerine, sonra da kısayolun basıldığı pencereye geri dönmesini sağlar. Bazı uygulamaların odağı değiştirmeye bağlı bazı eylemleri vardır; örneğin, twitter (tarayıcıda), odağı kaybettikten sonra cevap metni giriş alanını kapatır, vb.

X yerleşik anahtarlama mekanizmasına sahiptir ve odaklama anahtarlaması içermemesinin yanı sıra hemen anahtarlanır (gnome anahtarlayıcı bazen de kapanır).

Xkbmap seçeneklerini nasıl ayarlarım, böylece ayarlar yeniden başlatıldıktan sonra kalır ve Gnome tarafından sıfırlanmaz.

Ne denedim:

İlk önce, sadece setxkbmap komutunu çalıştırın

setxkbmap -layout "us,ru"
setxkbmap -option "grp:caps_toggle,grp_led:scroll,compose:ralt"

Ama sadece işe yarıyor:

  1. Mevcut oturum için
  2. Gnome bunun üzerine yazana kadar (örneğin, gconf org.gnome.desktop.input-sourcestetikleyicisinin sıfırladığı bir şeye dokunmak ).

İkincisi, Xorg config'a xkb seçenekleri ekleyerek:

Başka bir seçenek de xorg config komutunu eklemektir:

Section "InputClass"
        Identifier "system-keyboard"
        MatchIsKeyboard "on"
        Option "XkbLayout" "us,ru"
        Option "XkbModel" "pc105"
        Option "XkbVariant" "pc105"
        Option "XkbOptions" "grp:rctrl_toggle,grp_led:scroll"
EndSection

Xorg başlangıçta şunu anlıyor:

[    33.791] (**) Option "xkb_rules" "evdev"
[    33.791] (**) Option "xkb_model" "pc105"
[    33.791] (**) Option "xkb_layout" "us,ru"
[    33.791] (**) Option "xkb_variant" "pc105"
[    33.791] (**) Option "xkb_options" "grp:rctrl_toggle,grp_led:scroll"

Ancak, anahtarlama yapılandırması daha sonra sıfırlanabilir, muhtemelen gnome tarafından.

Üçüncüsü, gconf

görüntü tanımını buraya girin

Sahip oldum xkb-optionsve sourcesayarladım org.gnome.desktop.input-sources, ancak Gnome hala xkb'yi tek İngilizce düzenine ayarlıyor:

$ setxkbmap -print -verbose 10
Setting verbose level to 10
locale is C
Trying to load rules file ./rules/evdev...
Trying to load rules file /usr/share/X11/xkb/rules/evdev...
Success.
Applied rules from evdev:
rules:      evdev
model:      pc105
layout:     us
options:    grp_led:scroll
Trying to build keymap using the following components:
keycodes:   evdev+aliases(qwerty)
types:      complete
compat:     complete+ledscroll(group_lock)
symbols:    pc+us+inet(evdev)
geometry:   pc(pc105)
xkb_keymap {
    xkb_keycodes  { include "evdev+aliases(qwerty)" };
    xkb_types     { include "complete"  };
    xkb_compat    { include "complete+ledscroll(group_lock)"    };
    xkb_symbols   { include "pc+us+inet(evdev)" };
    xkb_geometry  { include "pc(pc105)" };
};

Dördüncü, gconf'ta başka bir seçenek

görüntü tanımını buraya girin

Ayar org.gnome.settings-daemon.peripherals.keyboardda benim için çalışmıyor. Hiçbirşey değişmez.

Upd 1 : Kaldırılmasını öneren bir tartışma var/usr/lib/gnome-settings-daemon-3.0/libkeyboard.so . En azından bu, xkbmap'ın bazı sıfırlarını düzeltir (yani, kilit ekranından sonra).

1 14.04 kullanıyorum, ancak odağı kaybetmeme sorunu hala sabit değil. ( Gnome girişindeki onaylanmamış rapor )


Eğer gnome doğru düzeni ayarlama ve daha sonra iki ekleme denediniz setxkbmapadresinden Müşteri komutları ~/.profile? Bu şekilde, her giriş yaptığınızda çalışırlar ve aynı ayarlar Gnome'da bulunduğundan, sıfırlanırsa hiçbir şey değiştirmemelidir.
terdon

1
@ terdon ekran kilitlendikten sonra bile sıfırlanır. Ve tanımlı ayarlara değil "sadece bize, anahtar yok" durumuna sıfırlar org.gnome.desktop.input-sources.
kolen

Garip. Eğer Are de emin sen Unity Gnome kullanıyorum ve değil mi? Ayarları yerine normal GUI ile değiştirmeyi denediniz dconf-editormi?
terdon

@terdon evet, birlik, ama gnome'un eşyalarını kaybettiriyor, gnome-settings-daemon gibi, keymap'i sıfırlar.
kolen

Öyleyse, Unity GUI'den doğru ayarları yapmayı denediniz mi?
terdon

Yanıtlar:


19

GNOME'un klavye sıfırlama ayarını önlemek için, i bu komutu kullanın:

gsettings set org.gnome.settings-daemon.plugins.keyboard active false

Bu benim için çalışıyor.


4
Bunu Ubuntu 14.04'te denedim ve hiçbir şey yapmıyor. Herhangi bir açıklamanız var mı: Bunun nasıl çalışması gerekiyor?
Nickolai Leschov 12:15

2
Benim için çalışıyor
14.04

2
Diğer her şeyi denedikten sonra 16.04'te benim için çalışıyor.
Leonardo Castro

1
Çalışırken bulduğum tek yöntem 17.04.
Cnly

1
Ubuntu'nun bir süredir birliğin ayarları-arka planını da oluşturduğunu aklınızda bulundurun, ancak şimdi tekrar Gnome'a ​​geri dönecekleri bu çalışmaya devam edebilir.
dragon788

6

Tıpkı senin gibi çıldırıyorum, ama Ubuntu 14.04 (LTS), Xubuntu, xfce 4.12 ve xkbd (xfce güzelliklerinden) ile. Klavye düzenini değiştirmek için Ctrl + Boşluk çalıştı, ancak Alt + Shift yapmadı (yalnızca değiştirici tuşlar).

Sonunda işleri halletmeyi başardı.

1. Run ibus-setup (Keyboard Input Methods application).
2. Goto Advanced tab.
3. Check 'Use system keyboard layout'.
4. Click 'Close'

5. Run xfce4-keyboard-settings (Keyboard application).
6. Goto Layout tab.
7. Uncheck 'Use system defaults'
8. Select 'Keyboard model' (typically 'Generic 105-key (Intl) PC' will do)
9. Set 'Change layout option' to your required switching keys combination (typically Alt+Shift will do).
10. Add languages to 'Keyboard layout'.
11. Click 'Close'.
12. Restart the computer

Sen bittin! Klavye düzenini değiştirmek için Alt + Shift tuşlarını kullanın.


1
xfce4-keyboard-settingsÖzellikle gnome / unity ile ilgili yardım isteyen bir soru sormayı neden tavsiye edersiniz ?
Nickolai Leschov 12:15

2

Bu makaleyi sadece ilgili olabilecek ekran kilidi ile ilgili okudum . Makaleye göre, ekran kilidi giriş cihazlarının engellenmesinin ve yerel ayarların manipüle edilmesinin amaçlanan sonucuna sahiptir. Birkaç seçeneğiniz var gibi görünüyor:

  1. Ekranı kilitlemeyi durdurun, muhtemelen buna benzer bir işleve sahip olan tebrik ekranı da bulunur
  2. Farklı güç yönetimi araçlarını kullanın
  3. İm-switching için ibus kullanmayı bırakın (Belki FCITX?)
  4. Burada açıklanan şekilde ekran kilidini açma olayları için bir kanca oluşturun .

Ubuntu-dev posta listesinde bulunabilecek bu ve ilgili olayların ilginç bir tartışması var: https://lists.ubuntu.com/archives/ubuntu-devel/2013-November/037768.html


1

Ubuntu hata izleyicideki kullanıcı wof tarafından geçici çözüm , Ubuntu 14.10 için gxkb kullanarak :

https://bugs.launchpad.net/gnome-settings-daemon/+bug/1244090/comments/39

Bu geçici çözüm ubuntu 14.10 için çalıştı:

  • Ayarlar-> Metin girişi bölümündeki tüm giriş kaynaklarını kaldırın, yalnızca ingilizce bırakın
  • gxkb'yi kurun (düzen değiştirici): sudo apt-get install gxkb
  • gnome-tweak-tool ile başlangıç ​​uygulamalarına gxkb ekleyin
  • ~ / .config / gxkb içindeki gxkb kısayol tuşlarını ayarlayın (varsayılan alt_shift, ancak 14.10'da çalışmaz. ctrl_shift işe yarar)

gxkb ps yeni sürümü ubuntu için appindicator vardır. ppa ile kurulabilir: zen-root / gxkb-stable


(Henüz denenmedi)
kolen

E: gxkb paketi bulunamıyor
e18r

0

İlk önce, sadece setxkbmap komutunu çalıştırın

setxkbmap -layout "us, ru" setxkbmap -option "grp: caps_toggle, grp_led: kaydırma, oluştur: ralt"

Ama sadece işe yarıyor:

For current session
Until Gnome will overwrite it (for example touching something in gconf's org.gnome.desktop.input-sources triggers reset).

Peki Gnome "sıfırlıyor" kadar bilmiyorum. Her ne kadar Logitech farem için aynı şeyi yapmam gerektiğine rağmen, her yeniden başlatmayı nasıl başarabileceğinizi biliyorum. Belli bir şekilde yeniden yapılmasını istediğim birden çok düğmeyi içeriyordu ve yeniden başlatma sırasında bu ayarı ayarladım.

Yani bunun için yaptığınız bir metin dosyası oluşturmak. Sonra bu metin dosyasına şunu yazın:

#!/bin/bash

ve komutlarınızın altına koyulduğun hemen altında. Örnek olarak farem şöyle gözüküyor:

#!/bin/bash
xinput set-button-map "Logitech USB-PS/2 Optical Mouse" 1 2 3 4 5 8 9 6 7 10 11 12 13 14 15 16

daha sonra ne istersen bir isim olarak saklar ve ev dizininiz gibi bir yere taşırsınız. orada "sonsuza kadar" kalmak zorunda.

daha sonra sadece Başlangıç ​​Uygulamalarınızı açın ve dosyayı başlangıcınıza ekleyin, ardından sadece oturum için süren endişelenmenize gerek yoktur. bilgisayarınızı yeniden başlatmanız uygun olacaktır çünkü ayarlarınız az önce eklediğiniz dosyadan geri gelir.

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.