การซ่อนเมาส์หลังจากไม่ได้ใช้งานสองสามวินาทีบนหน้าจอ X


9

ฉันมีแอปพลิเคชั่นคีออสก์ที่ทำงานบน Ubuntu Server 14.04.3 พร้อมหน้าจอ Google Chrome และ X (xorg และ xsession)

ขณะนี้ฉันมีสคริปต์บางอย่างเพื่อซ่อนเมาส์หลังจาก 2 วินาทีที่ไม่ได้ใช้งานและเมื่อผู้ใช้พยายามย้ายเมาส์มันจะปรากฏขึ้น ฉันเพียงแค่ยกระดับการcursor:noneซ้อนทับที่มองไม่เห็นและลบการซ้อนทับนั้นเมื่อจำเป็น

ดูเหมือนว่าเมื่อฉันบูทคีออสก์โค้ดจะทำงานตามที่คาดไว้และฉันสามารถเห็นโอเวอร์เลย์แทรกได้ แต่เนื่องจากเมาส์เพิ่ง "โหลด" มันจะไม่หายไปจนกว่าฉันจะเคลื่อนไหวเล็กน้อยด้วย ดูเหมือนว่าเบราว์เซอร์จะไม่ตรวจจับเมาส์จนกว่าฉันจะเคลื่อนไหวเล็กน้อยแม้กระทั่งซึ่งทำให้เมาส์ปรากฏที่กลางหน้าจอ เนื่องจากปัญหาไม่เกี่ยวข้องกับรหัสของฉันเพราะดูเหมือนว่าจะทำงานได้ดี

สิ่งที่ฉันต้องทำคือถ้าเมาส์ไม่ได้ถูกย้ายเป็นเวลา 2 วินาทีซ่อนมันไว้ เมื่อผู้ใช้พยายามเลื่อนเมาส์ให้แสดงอีกครั้ง วิธีแก้ปัญหาต้องทำงานทันทีหลังจากบู๊ตจอ X ดังนั้นเมื่อฉันบู๊ตจอแสดงผล X เมาส์อยู่กลางหน้าจอและแม้ว่าฉันจะไม่ได้แตะต้องตอนบู๊ตมันก็จะหายไปหลังจาก 2 วินาทีที่ไม่ได้ใช้งาน ฉันเดาว่าฉันต้องทำสิ่งนี้ให้สำเร็จด้วยการเปิด X display แทนการใช้รหัสของฉันเนื่องจากไม่พบเม้าส์เมื่อคีออสถูกบูทใหม่

เป็นไปได้ไหมที่ทำสิ่งนั้นกับ X display?

คำตอบ:


14

มีแอปพลิเคชันที่เรียกunclutterว่าจะทำ ติดตั้งโดยพิมพ์ข้อความต่อไปนี้ที่หน้าต่างเทอร์มินัล:

sudo apt-get install unclutter

หลังจากติดตั้งแล้วคุณสามารถเปลี่ยนการหมดเวลาเป็น 2 วินาทีในไฟล์ต่อไปนี้:

/etc/default/unclutter

และเปลี่ยนบรรทัดต่อไปนี้:

EXTRA_OPTS="-idle 1 -root"

ถึง

EXTRA_OPTS="-idle 2 -root"

สิ่งนี้จะเริ่มโดยอัตโนมัติเมื่อระบบบูทขึ้น

หากต้องการเริ่มต้นตอนนี้โดยไม่ต้องรีสตาร์ทระบบให้พิมพ์ดังต่อไปนี้:

nohup unclutter -idle 2 &

แก้ไข:

หากไม่พบการติดตั้งให้แก้ไข/etc/apt/sources.listไฟล์ของคุณและตรวจสอบให้แน่ใจว่าบรรทัดต่อไปนี้ไม่ได้ถูกใส่ความคิดเห็น#:

deb http://us.archive.ubuntu.com/ubuntu/ trusty universe
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty universe
deb http://us.archive.ubuntu.com/ubuntu/ trusty-updates universe
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty-updates universe

หากพวกเขาจะออกความเห็นเอา#ไว้ที่ด้านหน้าของเส้นแล้วใช้ในการปรับปรุงที่เก็บแล้วรัน sudo apt-get updatesudo apt-get install unclutter

หากฉันรันคำสั่งต่อไปนี้เราจะเห็นว่าunclutterแอปพลิเคชันนั้นมาจากที่trusty universeเก็บข้อมูล

:~$ apt-cache showpkg unclutter
Package: unclutter
Versions: 
8-19 (/var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_trusty_universe_binary-amd64_Packages) (/var/lib/dpkg/status)
 Description Language: 
                 File: /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_trusty_universe_binary-amd64_Packages
                  MD5: f0e9ff67c42a9d3dc35bb595d2f84a7b
 Description Language: en
                 File: /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_trusty_universe_i18n_Translation-en
                  MD5: f0e9ff67c42a9d3dc35bb595d2f84a7b

:~$ dpkg -s unclutter
Package: unclutter
Status: install ok installed
Priority: optional
Section: x11
Installed-Size: 76
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Version: 8-19
Depends: debconf (>= 0.5) | debconf-2.0, libc6 (>= 2.3.4), libx11-6
Conffiles:
 /etc/X11/Xsession.d/90unclutter 9b47a483264cfc6a155fbd65cd8a3e6e
Description: hides the mouse cursor in X after a period of inactivity
 unclutter hides your X mouse cursor when you don't need it, to prevent it
 from getting in the way. You have only to move the mouse to restore the
 mouse cursor.
Original-Maintainer: Axel Beckert <abe@debian.org>
Homepage: ftp://ftp.x.org/contrib/utilities/

หวังว่านี่จะช่วยได้!


ฉันจะตรวจสอบมันออกมา! ฉันไม่อยากจะเชื่อเลยว่าวิธีแก้ปัญหาอย่างง่ายนั้นอยู่ใต้จมูกของฉัน :) Btw เมื่อคุณพูดว่า "สร้างการเริ่มต้น" คุณหมายถึงสร้างไฟล์ภายในinit.dโฟลเดอร์หรือไม่?
kfirba

@kfirba อัปเดตสำหรับความสามารถในการเริ่มอัตโนมัติ
Terrance

ขอบคุณสำหรับการแก้ไข! ฉันจะกลับมาหาคุณในไม่ช้าด้วยผลลัพธ์ :)
kfirba

@kfirba ดีใจที่ฉันสามารถช่วยคุณได้! =)
Terrance

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