Jak ukryć kursor myszy

39

Buduję kiosk za pomocą Ubuntu Precise na ekranie dotykowym. Teraz szukam odpowiedniego sposobu na zniknięcie kursora myszy. Ponieważ ludzie wiedzą, na co wskazują, wyświetlanie strzały pod palcem jest bezużyteczne, a posiadanie strzały w miejscu, w którym ostatnio wskazywali, jeszcze bardziej.

Moim najlepszym wyborem byłby rodzaj motywu kursora składającego się wyłącznie z przezroczystych kursorów. Jestem trochę zaskoczony, że nie mam interfejsu do przełączenia i być może instaluję motywy kursora w domyślnym interfejsie Unity, ale ponieważ nie będę używać Unity, nie stanowi to większego problemu. Wygląda na to, że wszystkie wymienione alternatywy update-alternatives --list x-cursor-themeodnoszą się do .themeplików, więc szukałem ich na liście pakietów . Wynikowa lista nie zawiera żadnych prawdopodobnych kandydatów, tzn. Żadnych paczek zawierających w nazwie „niewidoczny” lub „przezroczysty”.

Do tej pory najlepiej sprawdziłem się w wynikach Google, które dały readme dla „XCursor Transparent Theme” . Oznaczałoby to samodzielne skompilowanie tych źródeł, być może umieszczenie ich w mojej umowie PPA. Jestem również nieco sceptycznie nastawiony do tego wyniku, ponieważ wspomniany plik readme pochodzi z 2003 roku. Nie jestem pewien, czy nie komplikuję zbytnio spraw. W końcu istnieje precyzyjne wsparcie dla urządzeń dotykowych, więc nie sądzę, że jestem pierwszym, który chce pozbyć się kursora myszy.

  • Czy istnieje inny sposób, który nie obejmuje skompilowanego przez użytkownika kodu binarnego?
  • Czy istnieje pakiet tematyczny dla przezroczystych kursorów, który przeoczyłem?
  • Czy istnieje jakiś inny mechanizm powodujący znikanie kursora bez zmiany motywu kursora?

Będę używał apletów Matchbox WM , Firefox i Java, więc będę zadowolony z każdego rozwiązania działającego w takiej konfiguracji. Nie interesują mnie żadne rozwiązania kręcące się z Gnome lub Compiz, ponieważ ja też nie będę działać.

MvG
źródło

Odpowiedzi:

41

Spróbuj „uporządkować”

celem tego programu jest ukrycie wskaźnika, gdy mysz nie porusza się przez chwilę. Za jego pomocą możesz sprawić, że wskaźnik pojawi się tylko wtedy, gdy użytkownik dotknie ekranu, i zniknie zaraz po nim. (być może nie do tego dokładnie dążyłeś. Ale jest to o wiele łatwiejsze niż twoja alternatywa = P)

Aby użyć, zainstaluj go

sudo apt-get install unclutter

następnie uruchom to

unclutter -idle 0.01 -root

liczba jest liczbą sekund przed zniknięciem wskaźnika (w tym przypadku 1/100 sekundy)

josinalvo
źródło
1
Jeśli połączysz to rozwiązanie z motywem ikony, który wygląda jak mały pierścień, powinien wyglądać całkiem ładnie, nawet z 0,1-sekundowym opóźnieniem. W takim przypadku opóźnienie działałoby jako wizualne potwierdzenie wykrycia dotyku przez wyświetlacz.
Mikko Rantalainen,
fajny pomysł! masz taki motyw? Chciałbym dodać zalecenie do odpowiedzi
josinalvo,
1
Przepraszamy, nie znam istniejącego motywu. Stworzenie takiego motywu nie powinno być trudne. Utwórz odpowiedni plik PNG i użyj go xcursorgendo utworzenia pliku kursora X11. Następnie musisz napisać cursor.themeplik, umieścić pliki kursora w podkatalogu cursorsi utworzyć plik ZIP z całości. Zobacz ehow.com/how_5026012_make-cursors-file-ubuntu.html i freedesktop.org/wiki/Specifications/cursor-spec/?action=print oraz niektóre istniejące motywy gnome-look.org/?xcontentmode=36, aby uzyskać więcej informacji.
Mikko Rantalainen,
niesamowita, idealna symbioza z NoMachine! dzięki!
Aquarius Power
Czasami użycie funkcji uporządkowania może spowodować, że aplikacja przestanie być aktywna, na przykład podczas przeglądania Internetu kółko myszy może nie działać, dopóki nie klikniesz lub nie poruszysz wskaźnikiem myszy. Po prostu miej to na uwadze, żebyś nie pomyślał, że to błąd w przeglądarce, tak jak ja;)
golimar
21

Jeśli nigdy nie chcesz, aby kursor się pojawiał (odpowiedni dla ekranów dotykowych), uporządkowanie nie wystarczy z mojego doświadczenia. Zamiast tego możesz użyć use -nocursorpodczas uruchamiania X.

Przykład:

startx -nocursor

Zobacz http://www.x.org/wiki/AdvancedTopicsFAQ/#index1h2

Gibbs
źródło
1
Świetna odpowiedź! Działa to dla mnie tylko tak:startx -- -nocursor
czerasz
5
Czy istnieje sposób na zmianę tej zmiennej po uruchomieniu X?
Aaron Franke
11

Jeśli używasz lightdm:

Edytuj /etc/lightdm/lightdm.conf, dodając:

xserver-command=X -bs -core -nocursor

jeśli używasz nodm:

Edytuj /etc/default/nodm, zastępując:

NODM_X_OPTIONS='-nolisten tcp'

z

NODM_X_OPTIONS='-nolisten tcp -nocursor'

To jest bardzo pomocna odpowiedź Gibbs

Piotr
źródło
1

Ubuntu 16.04

Otwórz /usr/share/lightdm/lightdm.conf.d/50-xserver-command.confi edytuj ten wiersz:

xserver-command=X -core

Dołącz -nocursordo tego. Lubię to:

xserver-command=X -core -nocursor

Zapisz i uruchom ponownie.

Ostrzeżenie : Podobnie jak inne odpowiedzi na to pytanie, błędy w tym pliku zapobiegną inicjalizacji Xorg. W każdym razie nadal możesz zalogować się do terminala i przywrócić.

Rael Gugelmin Cunha
źródło
UWAGA: może to spowodować zerwanie logowania na twoim komputerze. Używaj ostrożnie.
Igor
1
@Igor, gdy jest prawidłowym punktem, błąd w tym pliku uniemożliwi inicjalizację Xorg. Dzięki temu użytkownik nadal może zalogować się do terminala i przywrócić. W każdym razie dodam do tego wzmiankę.
Rael Gugelmin Cunha