Jak używać REISUB z cienką aluminiową klawiaturą Apple?

Odpowiedzi:

2

Ta odpowiedź również zamieszczona tutaj .

Po 3 lub 4 godzinach ciężkiego wyszukiwania, czytania oraz prób i błędów, oto bardziej szczegółowa i ogólna odpowiedź, która powinna działać na każdym laptopie lub klawiaturze Apple / Mac, a nie tylko na „cienkiej aluminiowej klawiaturze Apple”. Jednak w moim szczególnym przypadku używam tego rozwiązania dla białego MacBooka 2008 z Xubuntu 16.04 LTS.

Bardzo dziękuję Bengtowi Olssonowi za jego doskonałe instrukcje, które dały mi niezbędny początek w zrozumieniu brakujących szczegółów.

To rozwiązanie jest wykonywane w przestrzeni użytkownika i NIE wymaga ponownej kompilacji jądra, podobnie jak niektóre sugestie.

  1. Pobierz źródło dla keyfuzz i rozpakuj (mogę kliknąć prawym przyciskiem myszy i przejść do „Wyodrębnij tutaj”, aby na przykład wyodrębnić je w moim menedżerze plików GUI). Aby dowiedzieć się więcej o keyfuzz, zobacz tutaj . Jest wydany na licencji GNU GPL 2.0 lub nowszej licencji open source (tak, open source!).

    • Nie używaj katalogu zbyt głęboko (ewentualnie ze spacjami), bo inaczej ./configureponiższe polecenie się nie powiedzie.
  2. Zainstaluj zależności, w przeciwnym razie uruchomione ./configureponiżej mogą wyrzucić niektóre błędy:

    sudo apt-get update
    sudo apt-get install lynx xmltoman gengetopt
    
  3. Skompiluj i zainstaluj keyfuzz za pomocą zwykłych poleceń:

    ./configure
    make
    sudo make install
    
  4. Przejdź do /dev/input/by-idklawiatury Apple, która kończy się na -event-kbd:

    cd /dev/input/by-id
    ls
    

    Dla mnie to jest

    usb-Apple_Computer_Apple_Internal_Keyboard___Trackpad-event-kbd
    
  5. Dodaj następujący wiersz do /etc/rc.localpliku, aby to polecenie było uruchamiane za każdym razem, gdy komputer uruchamia się i ładuje tego użytkownika. Zauważ, że używamy wpisu klawiatury Apple, który właśnie znaleźliśmy powyżej. Polecenie korzysta keyfuzz do map F12lub F13na klawiaturze Apple lub laptopa z systemem „ Magic SysRq key do miękkich restartów,.

    • Mapować F12do SysRq: 458821 99. Ogromne podziękowania dla „pjjjv” za zrozumienie tego tutaj !
    • Mapować F13do SysRq: 458856 99.
    • Ponieważ mój MacBook 2008 nie ma F13, korzystam z F12powyższej opcji. Pamiętaj również, aby użyć właściwego wpisu klawiatury, który znaleźliśmy powyżej. Polecenie, które dodałem do rc.localmojej sprawy to:

      echo "458821 99" | keyfuzz -s -d /dev/input/by-id/usb-Apple_Computer_Apple_Internal_Keyboard___Trackpad-event-kbd
      
    • Oto mój cały /etc/rc.localplik z odpowiednim wpisem:

      #!/bin/sh -e
      #
      # rc.local
      #
      # This script is executed at the end of each multiuser runlevel.
      # Make sure that the script will "exit 0" on success or any other
      # value on error.
      #
      # In order to enable or disable this script just change the execution
      # bits.   
      #
      # By default this script does nothing.
      
      echo "458821 99" | keyfuzz -s -d /dev/input/by-id/usb-Apple_Computer_Apple_Internal_Keyboard___Trackpad-event-kbd
      
      exit 0
      
  6. Restart.

Teraz mogę nacisnąć Alt+ F12(lub możesz użyć Alt+, F13jak opisano powyżej) i wydać REISUB, aby ponownie uruchomić komputer miękko. Działa idealnie na moim laptopie MacBook 2008 z systemem Xubuntu 16.04 LTS.

Zauważ, że możesz zobaczyć wyniki zwrócone przez wydanie REISUB, kiedy naciskasz każdy klawisz, najpierw przeskakując do alternatywnej sesji z Ctrl+ Alt+ F1( właściwie F1przez F6pracę) przed wydaniem polecenia. Aby wrócić do głównej sesji X Window, użyj Ctrl+ Alt+ F7.

Jeśli otrzymasz wynik, który mówi

This sysrq operation is disabled

jest to normalne w przypadku kilku poleceń, ponieważ stanowią potencjalne zagrożenie bezpieczeństwa. Boot One powinien jednak nadal działać, pozwalając na miękkie ponowne uruchomienie komputera. Oto kilka dodatkowych informacji na ten temat, tutaj : mniess :

Począwszy od wersji Ubuntu 12.10, możliwe jest bardziej precyzyjne sterowanie włączaniem funkcji MagicSysRq. Po prostu edytuj plik /etc/sysctl.d/10-magic-sysrq.conf .

Plik jest dobrze udokumentowany i dokładnie mówi, jak włączyć, które funkcje. Bieżące ustawienie domyślne zostało wybrane ze względów bezpieczeństwa i powinno zostać zmienione tylko wtedy, gdy wiesz, dlaczego musisz (ze względów bezpieczeństwa patrz błąd # 194676 ).

Co za ból w tyłku. :) Twoje zdrowie.
Szczęśliwy „Linuxing”.
~ Gabriel Staples
www.ElectricRCAircraftGuy.com

Gabriel Staples
źródło
Użyłem `sudo checkinstall -D --install` zamiast sudo make installinstalować keyfuzz jako pakiet.
jarno
1
Użyłem kodu klucza 786616, aby zmapować Alt + Eject , zamiast F12 lub F13.
jarno
/etc/rc.localmoże nie być włączony w najnowszych wersjach Ubuntu; biegnij, systemctl status rc-local.serviceaby zobaczyć. W moim pytaniu jest kilka informacji o tym, jak uruchomić keyfuzz przez systemd. Tam też spróbowałem innej metody przypisania klucza.
jarno
2

Właśnie to zrobiłem. Jeśli nie chcesz rekompilować jądra, jak sugerowano w pierwszym łączu pierwszej odpowiedzi, istnieje prostszy sposób. Jest to trochę przedstawione w drugim linku pierwszej odpowiedzi, ale oto faktyczna procedura:

  1. Pobierz źródło dla keyfuzz

  2. Skompiluj i zainstaluj za pomocą zwykłych poleceń

    ./configure
    make
    sudo make install
    
  3. Dodaj następujący wiersz do pliku /etc/rc.local:

    echo "458856 99" | sudo /usr/local/sbin/keyfuzz -s -d /dev/input/by-id/usb-Apple__Inc_Apple_Keyboard-event-kbd
    

Teraz powinno być możliwe naciśnięcie Alt+ F13i wydanie REISUB. Pracowałem na moim Xubuntu 15.10.

Bengt Olsson
źródło
Mam MacBooka 2008 z systemem Xubuntu 16.04 LTS. Ten laptop nie ma F13 :(
Gabriel Staples
Rozgryzłem to! Zamiast tego przypisany do F12! Dziękuję za twoją odpowiedź tutaj, która była kluczowa, aby pomóc mi ją zrozumieć. Zobacz moją odpowiedź tutaj: askubuntu.com/a/896806/327339 .
Gabriel Staples,
1

Nie mam pod ręką klawiatury aluminiowej, aby to przetestować, ale:

System: Preferencje: Preferencje klawiatury: Opcje układu klawiatury: Różne opcje zgodności: Apple Alu…

Paranoia Szczeniak
źródło
Co to za aplikacja?
kot
To było okno dialogowe ustawień klawiatury z 10.04, dostępne za pośrednictwem głównych ustawień systemu. Jest to starożytne i prawdopodobnie wygląda obecnie inaczej. Nie wiedziałbym, gdzie znaleźć obecny ekwiwalent; Od jakiegoś czasu nie korzystałem z Ubuntu.
ParanoiaPuppy
Działa to tylko dla X11, a nie dla modułu obsługi Magic-SysRq jądra.
Ruslan