Câu hỏi bố trí bàn phím xorg.conf bị mất khi trình quản lý cửa sổ bắt đầu


Tôi đang chạy Ubuntu 15.04 với xdm là trình quản lý hiển thị và một thiết lập đa màn hình và bàn phím tùy chỉnh được định nghĩa trong xorg.conf.

xdm chọn đúng cấu hình bàn phím, đặt bố cục thành "gb" và với các phím mũ và phím ctrl được hoán đổi.

Tuy nhiên, khi tôi khởi động Window Maker hoặc bất kỳ trình quản lý hiển thị nào khác, tôi thấy rằng bố cục bàn phím của tôi sẽ chuyển về Hoa Kỳ. Các phím ctrl / caps vẫn được đổi chỗ.

xorg.conf:

Section "Monitor"
        Identifier   "DP1"
EndSection

Section "Monitor"
        Identifier   "HDMI2"
        Option       "LeftOf" "DP1"
        Option       "Rotate" "left"
EndSection

Section "Device"
        Identifier "intel"
        Driver     "intel"
#       Option     "TearFree" "true"
        Option     "Monitor-DP1" "DP1"
        Option     "Monitor-HDMI2" "HDMI2"
EndSection

Section "InputClass"
        Identifier      "caps as ctrl sun gb keyboard"
        Driver          "evdev"
        MatchIsKeyboard "yes"
        Option          "XkbLayout" "gb"
        Option          "XkbModel" "sun_type7_usb"
        Option          "XkbRules" "xorg"
        Option          "XkbOptions" "ctrl:swapcaps"
EndSection

2
2017-09-09 10:22


gốc


Nó là một máy chủ Ubuntu? hoặc bạn có thiết lập Unity đầy đủ? - user.dz
Đó là một thiết lập Unity đầy đủ. Đó là một cài đặt sạch từ 15.04 64bit cài đặt iso. - retrodev
Nó có thể liên quan đến báo cáo lỗi không đầy đủ này: bugs.launchpad.net/ubuntu/+source/xorg/+bug/1216218 , tìm thấy nó từ forum.kde.org/… - user.dz
Vâng, tôi đã thấy điều đó. Thật không may, Ubuntu đang đi xa hơn và xa hơn nữa từ triết lý cấu hình Unix cốt lõi thông qua các tệp văn bản. Tất cả các dịch vụ này đọc cơ sở dữ liệu của các tùy chọn cấu hình có thể làm cho mọi thứ trở nên dễ dàng hơn cho người dùng thông thường, nhưng đối với một người dùng Unix có kinh nghiệm thì nó chỉ gây ra đau đầu. - retrodev


Các câu trả lời:


Từ nhận xét của bạn cho các câu trả lời khác, tôi có thể thấy rằng bạn có thể không chạy một trình tiện ích cài đặt. Hầu hết các môi trường DesktopEnvironments (như Gnome, KDE, vv) đều chạy một dịch vụ để theo dõi mọi cài đặt nhỏ cho bạn! Nhưng WindowManagers (như WindowMaker, i3, tuyệt vời, vv) thường không có tính năng này.

Nếu bạn đang bắt đầu một WindowManager từ ~/.xsession hoặc tập lệnh tự chế khác, sau đó bạn nên đặt cài đặt bàn phím cho phiên cụ thể đó. Đặt bố trí bàn phím có thể được thực hiện với setxkbmap từ tập lệnh Xsession của bạn trước dòng nơi bạn khởi động WindowManager.

setxkbmap -model sun_type7_usb -layout gb -option ctrl:swapcaps

Như một thông tin tiền thưởng, bạn có thể nhận được tất cả các mô hình, bố trí sẵn có, vv từ các lệnh sau:

localectl list-x11-keymap-models
localectl list-x11-keymap-layouts
localectl list-x11-keymap-variants [layout]
localectl list-x11-keymap-options

Những thông tin này chủ yếu được tìm thấy tại ArchWiki, nơi có thêm một số thông tin về bàn phím nói chung mặc dù nó có thể khác một chút so với Ubuntu.


2
2017-09-18 12:13



Đó là những gì tôi đã làm cho đến nay. Vì vậy, nó là chính xác bevahiour cho các thiết lập bàn phím xorg có mặt trong trình quản lý hiển thị, nhưng không phải là trình quản lý cửa sổ bắt đầu bởi .xsession? - retrodev
Trên thực tế tôi nghĩ rằng nó có thể là DisplayManager đó là để đổ lỗi, nhưng tôi không chắc chắn. Tôi chắc chắn sẽ xem xét điều này một cách chính xác để làm suy nghĩ nếu bạn không muốn sử dụng một số loại thiết lập-quản lý. - LassePoulsen


  1. Thử chỉnh sửa /etc/default/keyboard

    XKBMODEL="sun_type7_usb"
    XKBLAYOUT="gb"
    XKBOPTIONS="ctrl:swapcaps"
    
  2. Để áp dụng, Khởi động lại hoặc chạy:

    sudo udevadm trigger --subsystem-match=input --action=change
    

Tài liệu tham khảo:  man keyboard


1
2017-09-15 09:38



Điều đó không làm việc hoặc là không may. - retrodev


  • Unity có daemon cài đặt riêng của nó mà chăm sóc thiết lập bố trí, mà thiết lập lại bất kỳ thiết lập Xorg trước đó.

    1. Kiểm tra cài đặt hiện tại:

      gsettings get org.gnome.desktop.input-sources xkb-options
      
    2. Sau đó thêm ctrl:swapcaps và đặt lại.

      gsettings set org.gnome.desktop.input-sources xkb-options "['ctrl:swapcaps']"
      
    3. Đặt bố cục thành gb

      gsettings set org.gnome.desktop.input-sources sources [('xkb', 'gb')]
      
  • Nếu nó không hoạt động, hãy vô hiệu hóa trình cắm thêm daemon của trình cài đặt

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

    Tài liệu tham khảo:  Đặt vĩnh viễn các tùy chọn bố cục bàn phím với setxkbmap trong gnome / unity

BTW, Bạn có thể sử dụng công cụ GUI thay vì dòng lệnh nếu bạn muốn, tìm kiếm dconf-editor


0
2017-09-15 09:23



Tôi đã xóa Unity và đang sử dụng xdm làm người quản lý đăng nhập của mình để đăng nhập vào phiên WindowMaker thông qua tệp ~ / .xsession. Điều này vẫn áp dụng? - retrodev
@retrodev, Không chắc nhưng bạn có thể kiểm tra xem gnome-settings-daemon hoặc là unity-settings-daemon là runnung - user.dz
Họ không may. - retrodev


Bạn đã thử điều này chưa:

    gsettings set org.gnome.setting-daemon.keyboard.layout KEY=active VALUE=true

và nó có thể hoạt động tốt theo cách này.


0
2017-09-16 07:50



Tôi không chạy gnome hay lightdm. Tôi đang chạy xdm và windowmaker. - retrodev