รูปแบบแป้นพิมพ์ที่กำหนดเองถูกรีเซ็ตเป็นค่าเริ่มต้นหลังจากสแตนด์บายหรือรีบูต


11

ฉันออกแบบเลย์เอาต์ของแป้นพิมพ์สำหรับตัวเองหลังจากฉันรันxmodmapมันใช้งานได้ดี แต่หลังจากที่สแตนด์บายหรือรีบูตเค้าโครงก็เปลี่ยนกลับเป็น qwerty

ฉันจะตั้งเป็นค่าเริ่มต้นได้อย่างไร ระบบปฏิบัติการของฉันคือ Debian Wheezy ด้วย XFCE4


ฉันมีปัญหาเดียวกันเดเบียนเจสซีกับ xfce4
John Lawrence Aspden

คำตอบ:


6

ตรวจสอบฟอรั่มนี้ ArchLinux xmodmap รีเซ็ตหลังจากระงับแรม มีหลายตัวอย่างในชุดข้อความที่จะให้คุณเริ่มต้นและแสดงวิธีตั้งค่าตะขอซึ่งจะถูกเรียกผ่านระบบย่อยการจัดการพลังงานที่จะเรียกใช้xmodmapการตั้งค่าของคุณทุกครั้งที่คุณออกจากการระงับ

บางอย่างเช่นสคริปต์ต่อไปนี้ถูกบันทึกไว้เป็น/etc/pm/sleep.d/11suspend(เปลี่ยนmeใน /bin/su - meชื่อผู้ใช้ที่เกิดขึ้นจริงของคุณ):

#!/bin/bash
case $1 in
    hibernate)
        echo "Hey guy, we are going to suspend to disk!"
        ;;
    suspend)
        echo "Oh, this time we're doing a suspend to RAM. Cool!"
        ;;
    thaw|resume)
        echo "oh, suspend is over, we are in $1 phase..."
            # Set Display #
    DISPLAY=:0.0 ; export DISPLAY
    /bin/su - me -c "sleep 3; /usr/bin/xmodmap /home/me/.xmodmaprc" &
        ;;
    *)  echo "somebody is calling me totally wrong."
        ;;
esac

3

บันทึกล่วงหน้า: คุณไม่ควรใช้xmodmapคำสั่งล้าสมัยแต่เป็น XKB ( xkbcomp)

จากนั้นคุณสามารถเปลี่ยนการตั้งค่าจาก~/.xsessionสคริปต์ของคุณ ส่วนตัวฉันมี:

setxkbmap -types local -print | \
  sed -e '/xkb_symbols/s/"[[:space:]]/+local&/' > $HOME/.xkb/keymap/custom
xkbcomp -w0 -I$HOME/.xkb -R$HOME/.xkb keymap/custom $DISPLAY

ใน~/.xsessionไฟล์ของฉันและการตั้งค่า XKB ของฉันจะถูกใส่~/.xkb/symbols/localและ~/.xkb/types/localไฟล์ สิ่งนี้จะเปลี่ยนการตั้งค่าหลังจากลงชื่อเข้าใช้ X แต่ละครั้ง

แต่น่าเสียดายที่การตั้งค่าเหล่านี้จะหายไปหลังจากระงับ / ประวัติ มีวิธีแก้ไข: บันทึกไว้และเรียกคืนผ่าน pm-utils ด้วยสคริปต์ใน/etc/pm/sleep.dไดเรกทอรี คุณอาจต้องการ

xhost +si:localuser:root

ใน~/.xsessionสคริปต์ของคุณเนื่องจากรูทไม่มีข้อมูล xauth ของคุณ ฉันได้ยกตัวอย่าง (สำหรับ XKB): https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=633849#92


~/.xsessionไม่ได้ถูกเรียกหลังจากดำเนินการต่อที่นี่ คุณรู้ไหมว่าทำไม?
brauliobo

@brauliobo ~/.xsessionไม่ถูกดำเนินการหลังจากดำเนินการต่อเมื่อเริ่มเซสชัน X คุณต้องทำxhost +si:localuser:rootในเวลานี้เท่านั้น
vinc17

ขอบคุณมากสำหรับข้อมูลนี้ ฉันไม่รู้ว่ามีวิธีการใหม่กว่าxmodmapในการโหลดคีย์แผนที่ที่กำหนดเอง ดูเหมือนว่าจะทำงานได้ดีขึ้นมากเช่นกัน ในกรณีของฉัน (XUbuntu 18.04) ดูเหมือนว่าจะอยู่รอดระงับ / ดำเนินการต่อด้วย
Tobia
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.