ทำไมคำสั่ง xmodmap ของฉันจะไม่ทำงานเมื่อเริ่มต้น / เข้าสู่ระบบ?


13

ฉันต้องการเรียกใช้คำสั่งนี้ทุกครั้งที่ฉันเข้าสู่ระบบ (หรือทุกครั้งที่ฉันเริ่มขึ้นหากไม่ได้ผล): xmodmap -e 'keysym Delete = Menu' -e 'keysym Menu = Delete'

ฉันลองหลายอย่างแล้ว System > Preferences > Startup Applicationsฉันใส่คำสั่งใน ฉันใส่มันลงใน.shไฟล์ทำเครื่องหมายchmod +xและใส่ไฟล์System > Preferences > Startup Applicationsนั้น /etc/init.dฉันใส่สคริปต์ใน ~/.profileฉันใส่คำสั่งใน ดูเหมือนจะไม่มีอะไรทำงาน

ในที่สุดฉันก็ใส่สิ่งนี้ไว้ใน~/.profile:

touch test1
xmodmap -e 'keysym Delete = Menu' -e 'keysym Menu = Delete'
touch test2

ทั้ง test1 และ test2 ถูกสร้างขึ้น แต่ปุ่มยังคงไม่ถูกแมปใหม่ ถ้าฉันเพียงแค่คัดลอก / วางคำสั่งและเรียกใช้ด้วยตนเองมันก็ใช้ได้ดี แต่มันจะไม่ทำงานในการเข้าสู่ระบบ ความคิดใด ๆ


อย่าโพสต์คำถามเดียวกันในเว็บไซต์ Stack Exchange หลายแห่ง (ยกเว้นว่าคำถามนั้นอยู่ในหัวข้อของทั้งสองไซต์และคุณรอมานานและไม่มีคำตอบที่ดีในเว็บไซต์แรก แต่จากนั้นรวมลิงค์ไปยังต้นฉบับ คำถาม).
Gilles 'หยุดชั่วร้าย'

@Gilles: นั่นเป็นนโยบายอย่างเป็นทางการ? ดูเหมือนว่าจะเป็นหัวข้อในทั้งสองเว็บไซต์แล้วทั้งสองเว็บไซต์จะได้ประโยชน์จากมัน แต่ถ้าสิ่งนี้ถูกพูดคุยและตัดสินใจแล้วฉันจะต้องระวังในอนาคต
Matthew

ฉันคิดว่ามีรายการคำถามที่พบบ่อยอย่างเป็นทางการเกี่ยวกับเรื่องนี้ แต่ฉันไม่พบมัน ฉันถามเมตาดาต้าแล้ว
Gilles 'หยุดความชั่วร้าย'

คำตอบ:


5

ทั้งนี้ขึ้นอยู่กับการกระจายของ~/.xsessionไฟล์จะถูกดำเนินการ (เชลล์สคริปต์) เมื่อเข้าสู่ระบบเอ็กซ์และ / หรือ~/.Xmodmapไฟล์ที่มีที่มาโดยxmodmapกระบวนการ

~/.profileไฟล์จะถูกดำเนินการโดยเฉพาะเปลือกเข้าสู่ระบบ (มีหรือไม่มี X) ดังนั้นจึงไม่ได้เป็นสถานที่ที่เหมาะสม


6

~/.Xmodmapใส่ไว้ใน บางคนดู distro สำหรับแทน~/.Xmodmap ~/.xmodmaprcมันใช้ได้ผลกับฉันใน Fedora 16


นี่เป็นทางออกที่ดีที่สุดสำหรับเดเบียน
UnLoCo

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.