Tôi đang thiết lập hộp mở trên máy tính xách tay chạy Linux Mint 13. Tôi muốn khóa Caps Lock hoạt động như một phím điều khiển bổ sung. Tôi đặt các cài đặt cần thiết trong ~/.Xmodmap
tệp của mình và kiểm tra nó bằng cách chạy
xmodmap ~/.Xmodmap
Nó hoạt động chính xác.
Tuy nhiên, khi tôi đăng nhập lại phiên openbox của mình, những thay đổi chính này không xuất hiện. Chạy xmodmap
lệnh trên giúp nó hoạt động trở lại, nhưng tôi muốn nó tự động xảy ra khi khởi động.
Điều thú vị là tôi đã thêm một zenity
lệnh kiểm tra như sau vào ~/.config/openbox/autostart
tệp của mình
zenity --info --text=Hello
Điều này tạo ra một cửa sổ hộp thoại nhỏ và chỉ thoát ra sau khi đóng hộp thoại.
Bây giờ, khi tôi đăng nhập lại vào phiên mở hộp của mình, Caps Lock hoạt động như một phím Ctrl, cho đến khi hộp thoại tiện ích được đóng lại. Khi hộp thoại đó được đóng, Caps Lock trở lại hành vi mặc định của nó.
Tôi chưa tìm thấy bất cứ điều gì về điều này với google vì vậy tôi đang yêu cầu trợ giúp ở đây. Các bạn có ý tưởng gì về những gì có thể xảy ra không?
Cập nhật:
Tôi đã cố gắng tìm ra điều này và trong các thử nghiệm của mình, tôi đã sao chép /usr/bin/xmodmap
tệp của mình sang /usr/bin/xmodmap_
và thay thế /usr/bin/xmodmap
tệp bằng tập lệnh bash sau
#!/bin/bash
{
echo '-------'
date
echo xmodmap "$@"
} >> ~/xmodmap-calls
exec /usr/bin/xmodmap_ "$@"
Vì vậy, mỗi khi bất kỳ tập lệnh chết tiệt nào trên hệ thống chạy xmodmap
, tôi đều biết.
Với điều này, tôi đăng nhập lại và tôi chỉ tìm thấy một mục trong ~/xmodmap-calls
tệp của mình , đó là mục đang chạy của tôi ~/.Xmodmap
, dự kiến. Vì vậy, tôi nghĩ rằng nó không phải xmodmap
là ghi đè những thay đổi của tôi.
Tiếp theo, một chút googling đã giới thiệu cho tôi setxkbmap
lệnh, dường như cũng có thể làm điều tương tự. Tôi cũng thay thế tệp thực thi đó, tương tự như xmodmap ở trên. Và tôi đã nhận được lệnh thủ phạm!
setxkbmap -option terminate:ctrl_alt_bksp
Tôi hoàn toàn không biết điều đó làm gì, nhưng sau khi chạy xmodmap ~/.Xmodmap
(áp dụng chính xác các cài đặt của tôi), nếu tôi chạy lệnh trên, các thay đổi của tôi sẽ được đặt lại! Chỉnh sửa : Điều này hóa ra thật buồn cười. Chỉ cần một setxkbmap
lệnh mà không có bất kỳ đối số, vui vẻ ghi đè các thay đổi của tôi bằng xmodmap ~/.Xmodmap
lệnh.
Bây giờ tôi có hai điều cần tìm hiểu, điều này setxkbmap
được chạy từ đâu & tại sao và cách khắc phục điều này. Tôi vẫn đang điều tra nhưng có thể nghiêm túc sử dụng một số trợ giúp :)
Cập nhật 2
Đến địa ngục với xmodmap
. Tôi không thể tìm ra nơi setxkbmap
được gọi từ đâu, nhưng tôi đã tìm ra cách sử dụng setxkbmap
lệnh để làm cho Caps Lock của tôi hoạt động như Ctrl.
setxkbmap -option ctrl:nocaps
Ngay trước khi bắt đầu openbox. Công trình rực rỡ. Phím khóa mũ vẫn hoạt động như một phím ctrl. xmodmap
không bao giờ chạy
Tôi sẽ giữ câu hỏi này ở đây để mọi người biết những điều này có thể cung cấp một số cái nhìn sâu sắc. Ngoài ra, đối với những người phải đối mặt với điều này sau tôi :)
Cập nhật 3
Đây là nội dung của tôi .config/openbox/autostart
, theo yêu cầu của pedrosaurio.
#!/bin/bash
# Set the wallpaper.
feh --bg-scale /wall.png
# Set default brightness.
xbacklight -time 1 '=40'
# Compositing.
xcompmgr &
# The panel.
tint2 &
# Start a terminal too.
roxterm &
Điều này không liên quan gì đến bàn phím, theo như tôi có thể nói. Ngoài ra, đây là tập lệnh bắt đầu phiên của tôi: (Chạy bằng lightdm)
#!/bin/bash
setxkbmap -option ctrl:nocaps
exec openbox-session
autostart
tập tin của bạn ?