Điểm:1

Cách liên tục ánh xạ Capslock sang ESC và Ctrl để nó vẫn hoạt động sau khi tạm dừng/tiếp tục

lá cờ us

Tôi đang sử dụng các dòng sau trong ~/.xprofile trên Ubuntu 20.04 để ánh xạ Phím Caps Lock đến THOÁTĐiều khiển:

# làm cho CapsLock hoạt động như Ctrl:                                
setxkbmap -tùy chọn ctrl:nocaps
# làm cho phím Ctrl được nhấn nhanh hoạt động giống như Escape:
xcape -e 'Control_L=Escape'

mà làm việc hoàn toàn tốt cho tôi.

Vấn đề của tôi là nó không tồn tại khi tạm dừng/tiếp tục một cách đáng tin cậy.Đối với điều này, tôi đã thử 2 giải pháp khác nhau:

1. Thông qua kịch bản bản đồ bỏ vào /usr/lib/systemd/system-sleep/

#!/bin/bash                                                            
                                                                       
trường hợp "$1" trong                                                           
    trước)                                                               
      #thực thi mã TRƯỚC KHI ngủ/ngủ đông/treo     
    ;;                                                                 
    bưu kiện)                                                              
      # thực thi mã SAU KHI tiếp tục                             
      /usr/bin/echo "đang thực thi: /usr/bin/setxkbmap -option ctrl:nocaps"
      /usr/bin/setxkbmap -tùy chọn ctrl:nocaps                           
      /usr/bin/echo "đang thực thi: /usr/bin/xcape -e 'Control_L=Escape'"  
      /usr/bin/xcape -e 'Control_L=Escape'                             
                                                                       
    ;;                                                                 
thoát hiểm                                                                   
                                                                       
thoát 0                                                                 

Tôi đã làm cho tập lệnh có thể thực thi được với sudo chmod +x capmap và có thể thấy từ nhật ký rằng nó được gọi vào thời điểm thích hợp:

$ tạp chí
...
Okt 09 13:29:12 nb systemd-sleep[401221]: Hệ thống đã hoạt động trở lại.
Okt 09 13:29:12 nb kernel: Bluetooth: hci0: Phiên bản thiết bị là 5
Okt 09 13:29:12 nb kernel: Bluetooth: hci0: Khởi động an toàn được bật
Okt 09 13:29:12 nb kernel: Bluetooth: hci0: Đã bật khóa OTP
Okt 09 13:29:12 nb kernel: Bluetooth: hci0: Đã bật khóa API
Okt 09 13:29:12 nb kernel: Bluetooth: hci0: Khóa gỡ lỗi bị tắt
Okt 09 13:29:12 nb kernel: Bluetooth: hci0: Bản dựng firmware tối thiểu 1 tuần 10 2014
Okt 09 13:29:12 nb kernel: Bluetooth: hci0: Found device firmware: intel/ibt-11-5.sfi
Okt 09 13:29:12 nb systemd-sleep[401287]: thực thi: /usr/bin/setxkbmap -option ctrl:nocaps
Okt 09 13:29:12 nb systemd-sleep[401288]: Không thể mở màn hình "màn hình mặc định"
Okt 09 13:29:12 nb systemd-sleep[401291]: thực thi: /usr/bin/xcape -e 'Control_L=Escape'
Okt 09 13:29:12 nb systemd-sleep[401293]: Không thể kết nối với màn hình X11. $HIỂN THỊ đã được đặt chưa?
Okt 09 13:29:12 nb systemd[1]: systemd-suspend.service: Thành công.
Okt 09 13:29:12 nb systemd[1]: Đã hoàn tất Đình chỉ.
Okt 09 13:29:12 nb systemd[1]: Đã dừng mục tiêu Ngủ.
Okt 09 13:29:12 nb systemd[1]: Đã đạt mục tiêu Tạm dừng.
Okt 09 13:29:12 nb systemd[1]: Đã dừng mục tiêu Tạm dừng.
...

Tuy nhiên, ánh xạ chỉ đôi khi được áp dụng. Khá thường xuyên, Phím Caps Lock chỉ cư xử như bình thường.

2. Thông qua dịch vụ systemd

Tôi đã thêm một tập tin dịch vụ capmap.service đến vv/systemd/system/ với nội dung như sau:

[Đơn vị]
Mô tả=Bản đồ Capslock tới ESC và Ctrl
Sau=treo.mục tiêu

[Dịch vụ]
Loại=oneshot
ExecStart=/usr/local/bin/capsmap
Thời gian chờSec=0
StandardOutput=nhật ký hệ thống

[Cài đặt]
WantedBy=đa người dùng.đích tạm ngưng.đích

với tập tin /usr/local/bin/capsmap như

#!/bin/bash

# làm cho CapsLock hoạt động như Ctrl:
/usr/bin/echo "đang thực thi: /usr/bin/setxkbmap -option ctrl:nocaps"
/usr/bin/setxkbmap -tùy chọn ctrl:nocaps

# làm cho phím Ctrl được nhấn nhanh hoạt động giống như Escape:
/usr/bin/echo "đang thực thi: /usr/bin/xcape -e 'Control_L=Escape'"
/usr/bin/xcape -e 'Control_L=Escape'

thoát 0

sau đó kích hoạt dịch vụ với Sudo systemctl kích hoạt capsmap.service.

Cũng trong trường hợp này, tôi có thể thấy với tạp chí rằng tập lệnh đã được thực thi thành công, nhưng bình thường Phím Caps Lock hành vi vẫn còn.

$journalctl
...
Okt 09 13:07:56 nb systemd[1]: Đã dừng mục tiêu Tạm dừng.                                                                                                                                                                                                                           
Okt 09 13:07:56 nb Trình quản lý mạng[1049]: <thông tin> [1633777676.0331] người quản lý: ngủ: yêu cầu đánh thức (ngủ: có bật: có)                                                                                                                                                   
Okt 09 13:07:56 nb ModemManager[1137]: <thông tin> hệ thống [sleep-monitor] đang hoạt động trở lại                                                                                                                                                                                                 
Okt 09 13:07:56 nb Trình quản lý mạng[1049]: <thông tin> [1633777676.0332] thiết bị (enp0s31f6): thay đổi trạng thái: đã kích hoạt -> không được quản lý (lý do 'đang ngủ', trạng thái sys-iface: 'được quản lý')                                                                                                       
Okt 09 13:07:56 nb systemd[1761]: Bluetooth mục tiêu đã dừng.                                                                                                                                                                                                                       
Okt 09 13:07:56 nb upowerd[1344]: coi sự kiện thay đổi là add on /sys/devices/pci0000:00/0000:00:14.0/usb1/1-8                          
Okt 09 13:07:56 nb capsmap[378798]: thực thi: /usr/bin/setxkbmap -option ctrl:nocaps                                                                                                                                                                                             
Okt 09 13:07:56 nb systemd[1761]: Đã đạt mục tiêu Bluetooth.                                                                                                                                                                                                                      
Okt 09 13:07:56 nb NetworkManager[1049]: <info> [1633777676.0498] dhcp4 (enp0s31f6): hủy giao dịch DHCP                                                                                                                                                                   
Okt 09 13:07:56 nb capsmap[378799]: Không thể mở màn hình "màn hình mặc định"                                                                                                                                                                                                         
Okt 09 13:07:56 nb NetworkManager[1049]: <info> [1633777676.0498] dhcp4 (enp0s31f6): giới hạn trạng thái đã thay đổi -> xong                                                                                                                                                                 
Okt 09 13:07:56 nb avahi-daemon[1041]: Rút bản ghi địa chỉ cho 192.168.178.54 trên enp0s31f6.                                       
Okt 09 13:07:56 nb avahi-daemon[1041]: Rời khỏi nhóm phát đa hướng mDNS trên giao diện enp0s31f6.IPv4 với địa chỉ 192.168.178.54.                                                                                                                                                      
Okt 09 13:07:56 nb avahi-daemon[1041]: Giao diện enp0s31f6.IPv4 không còn phù hợp với mDNS.                                             
Okt 09 13:07:56 nb avahi-daemon[1041]: Bản ghi địa chỉ rút tiền cho fe80::778b:d324:d55d:a503 trên enp0s31f6.                                                                                                                                                                     
Okt 09 13:07:56 nb avahi-daemon[1041]: Rời khỏi nhóm phát đa hướng mDNS trên giao diện enp0s31f6.IPv6 với địa chỉ fe80::778b:d324:d55d:a503.  
Okt 09 13:07:56 nb avahi-daemon[1041]: Giao diện enp0s31f6.IPv6 không còn phù hợp với mDNS.                                                                                                                                                                                      
Okt 09 13:07:56 nb systemd[1]: Bắt đầu Tải/Lưu Trạng thái Công tắc Tiêu diệt RF.                                                                  
Okt 09 13:07:56 nb capsmap[378800]: thực thi: /usr/bin/xcape -e 'Control_L=Escape'                                                                                                                                                                                               
Okt 09 13:07:56 nb NetworkManager[1049]: <info> [1633777676.0545] manager: Trạng thái NetworkManager hiện là CONNECTED_GLOBAL                 
Okt 09 13:07:56 nb capsmap[378805]: Không thể kết nối với màn hình X11. $HIỂN THỊ đã được đặt chưa?                                                                                                                                                                                            
Okt 09 13:07:56 nb kernel: kauditd_printk_skb: 9 cuộc gọi lại bị chặn                                                                                                                                                                                                             
Okt 09 13:07:56 nb kernel: audit: type=1107 audit(1633777676.068:1737): pid=1047 uid=103 auid=4294967295 ses=4294967295 subj=unconfined msg='apparmor="DENIED" operation="dbus_signal" bus="system" path="/org/freedesktop/NetworkManager/ActiveConnection/30" interface="org.fr>
                            exe="/usr/bin/dbus-daemon" sauid=103 tên máy chủ=? thêm =? thiết bị đầu cuối =?'                                                                                                                                                                                    
Okt 09 13:07:56 nb kernel: audit: type=1107 audit(1633777676.068:1738): pid=1047 uid=103 auid=4294967295 ses=4294967295 subj=unconfined msg='apparmor="DENIED" operation="dbus_signal" bus="system" path="/org/freedesktop/NetworkManager/ActiveConnection/30" interface="org.fr>
                            exe="/usr/bin/dbus-daemon" sauid=103 tên máy chủ=? thêm =? thiết bị đầu cuối =?'                                                                                                                                                                                    
Okt 09 13:07:56 nb kiểm tra[1047]: USER_AVC pid=1047 uid=103 auid=4294967295 ses=4294967295 subj=unconfined msg='apparmor="DENIED" operation="dbus_signal" bus="system" path=" /org/freedesktop/NetworkManager/ActiveConnection/30" interface="org.freedesktop.NetworkManager.Connec>
                                 exe="/usr/bin/dbus-daemon" sauid=103 tên máy chủ=? thêm =? thiết bị đầu cuối =?'                                                                                                                                                                               
Okt 09 13:07:56 nb kiểm tra[1047]: USER_AVC pid=1047 uid=103 auid=4294967295 ses=4294967295 subj=unconfined msg='apparmor="DENIED" operation="dbus_signal" bus="system" path=" /org/freedesktop/NetworkManager/ActiveConnection/30" interface="org.freedesktop.NetworkManager.Connec>
                                 exe="/usr/bin/dbus-daemon" sauid=103 tên máy chủ=? thêm =? thiết bị đầu cuối =?'                                                                                                                                                                               
Okt 09 13:07:56 nb systemd[1]: capsmap.service: Thành công.  
...

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.