Zrobiłem nową instalację Ubuntu 13.10. Po naciśnięciu przycisku zasilania komputer natychmiast się wyłącza. W Ubuntu 13.04 dostałem ładne menu, w którym mogłem wybrać, co robić. Teraz już go nie ma i chcę go odzyskać. Oto mój /etc/acpi/powerbtn.sh
w pastebin.
już zrobiłem
gsettings set org.gnome.settings-daemon.plugins.power button-WORD 'interactive'
gdzie WORD
jest hibernate
, power
, sleep
i suspend
.
/etc/acpi/powerbtn.sh
i dowiedziałem się, że to po prostu nic nie robi. Menu, o którym mówię, może zostać przywołane przez poleceniegnome-session-quit --power-off
Odpowiedzi:
Sprawdź swój
/etc/systemd/logind.conf
plik. To powinno wyglądać tak:Odkomentuj wiersz z napisem
#HandlePowerKey=poweroff
i zmień wartość naignore
.Następnie uruchom ponownie logind za pomocą polecenia:
sudo restart systemd-logind
lub uruchom ponownie komputer.EDYCJA: jak utworzyć nowy moduł obsługi acpi Utwórz nowy plik w
/etc/acpi/events/
. Zawartość pliku powinna wynosić:gdzie
<acpi_event_code>
jest kod otrzymywany za pomocą tegoacpi_listen
narzędzia i<script_to_call>
pełna ścieżka do skryptu, który chcesz wywołać, gdy zdarzenie się wydarzy.Musieli coś zmienić w 13.10, ponieważ wydaje się, że mam za mało plików w folderze / etc / accpi / events w porównaniu do 13.04.
źródło
export
polecenia, aby ustalić, które zmienne mają zostać przetestowane. Jeśli skrypt powerbtn.sh nie jest w ogóle wykonywany, możesz spróbować sprawdzić, z którym zdarzeniem acpi ma zostać powiązane, uruchamiającacpi_listen
i naciskając przycisk zasilania. Być może w gnome jest opcja przywrócenia menu mocy, ale nie jestem pewien, ponieważ minęło trochę czasu, odkąd ostatnio używałem gnome.powerbtn.sh
jest (prawdopodobnie) wykonywane, ponieważ nic nie dzieje się po naciśnięciu przycisku.acpi_listen
Mówi mi, że przycisk wyzwala zdarzenia ACPI. Niestety moje klawisze zwiększania i zmniejszania głośności również nie działają. Może to jest związane?grep "<acpi_event_code>" /etc/acpi/events/*
gdzie<acpi_event_code>
jest kod zdarzenia acpi, które widziałeś na acpi_listen. Jeśli otrzymasz wynik, wyświetl ten plik i zobacz nazwę skryptu, który wywołuje. Jeśli nie otrzymasz wyniku, możesz spróbować dodać nowy plik do pliku/etc/acpi/events/
. Zobacz edytowaną odpowiedź, aby uzyskać więcej informacji.jeremijah postawił mnie na dobrej drodze, więc chwała!
I edytowane
/etc/systemd/logind.conf
jako zalecane, ale także zrobiłem to .źródło
Jeśli powyższe rozwiązania nie działają, oto krótkie obejście:
To narzędzie działa dla Ciebie. Choć może to nie odpowiedzieć na pytanie, w wielu próbowanych przeze mnie rozwiązaniach (w tym na tej stronie) żadne z nich nie działa
Żeby zainstalować:
Aby użyć: Wpisz
xtrlock
w wierszu polecenia. Spowoduje to zamrożenie myszy, klawiaturyAby odblokować, wpisz hasło i naciśnij [Enter]
Może także zamrozić przycisk zasilania.
PS To rozwiązanie jest szczególnie przydatne dla tych, którzy mają dzieci i chcą z tego powodu wyłączyć przycisk zasilania.
źródło
Najpierw możesz edytować plik mapy klawiszy, aby zmienić zachowanie przycisku zasilania i przypisać go do innego klucza
Edytuj plik:
/usr/share/X11/xkb/symbols/inet
(edytuj klucz POWR)Następnie musisz skutecznie wyłączyć przycisk zasilania. Dobrą metodą jest xinput
Uruchom
xinput --list
przyciski zasilania mają swój własny wpis ... wybierz numer urządzenia, a następnie uruchomxinput disable devnumber
coś jakxinput disable 8
źródło