So ändern Sie die Aktion „Deckel schließen“ in Ubuntu:

So ändern Sie die Aktion „Deckel schließen“ in Ubuntu:

Ich verwende Ubuntu 16.04 LTS auf meinem Lenovo G50 und alles läuft gut, außer dass ich den Deckel meines Laptops nicht schließen kann, ohne danach einen Neustart durchführen zu müssen. Wenn ich den Deckel schließe (oder wenn ich ausführe pm-suspend), wird der Bildschirm meines Laptops für einige Sekunden dunkel und schaltet sich dann wieder ein.

Das Problem besteht darin, dass sich mein Laptop beim Versuch, es fortzusetzen, im Grunde in eine Kartoffel verwandelt ... Aus irgendeinem Grund funktioniert der Netzwerkmanager (sowohl WLAN als auch Ethernet) überhaupt nicht, das Terminal wird extrem langsam und ich kann keinen Befehl ausführen, sudoweil es für immer hängen bleibt.

Ich habe versucht, die logind.confDatei zu ändern, ich habe versucht, das zu ändern Power System Settings, ich habe meinen Intel-Grafiktreiber aktualisiert, ich habe Tools wie pmioder installiert laptop-mode... Mir gehen die Ideen aus, aber ich würde alles tun, um dieses Problem zu beheben.

Wenn es Systeminformationen gibt, die nützlich sein könnten, lassen Sie es mich wissen und ich werde sie dem Beitrag hinzufügen.

Antwort1

So ändern Sie die Aktion „Deckel schließen“ in Ubuntu:

Öffnen Sie die Datei /etc/systemd/logind.conf in einem Texteditor als Root, zum Beispiel:

sudo nano /etc/systemd/logind.conf

Ändern Sie diese Zeile:

#HandleLidSwitch=ignore

Zu dieser Zeile:

HandleLidSwitch=suspend

Stellen Sie sicher, dass es auskommentiert ist.

Alternativ können Sie auch diese Zeile hinzufügen, aber ich bevorzuge die erste:

HandleLidSwitchDocked=suspend

Dann renne :

sudo service systemd-logind restart

OderNeustart.

Zur Fehlerbehebung im Ruhezustand/Suspend-Modus sollten Sie den folgenden Befehl in das Terminal eingeben:

dmesg|less

Normalerweise gibt es einen Eintrag, welche Anwendung die Unterbrechung verursacht hat:

[32467.560058] Freezing of tasks failed after 20.01 seconds (1 tasks refusing to freeze, wq_busy=0):
[32467.560115] plasma-desktop D 0000000000000000 0 2065 1 0x00800004

Suspend auf Laptops beheben

sudo apt-get install uswsusp

Testen Sie nun die Suspendierung mit:

sudo s2ram

Wenn es nicht funktioniert, verwenden Sie:

sudo s2ram --force

Bearbeiten Sie als nächstes diese Datei:

sudo nano /usr/lib/hal/scripts/linux/hal-system-power-suspend-linux

Ändern Sie den Code in:

#!/bin/sh

/sbin/s2ram --force

Bearbeiten: Eine weitere Lösung:

Legen Sie ein Skript in ' /etc/pm/sleep.d/ ' ab. Die Skripte dort werden beim Anhalten und Fortsetzen ausgeführt. Der Dateiname sollte mit einer Ordnungsnummer beginnen, 00-49 für Benutzerskripte (weitere Einzelheiten finden Sie unter man pm-suspend).

Das Skript könnte so aussehen

#!/bin/sh
(killall -9 mount.nfs; exit 0)

Wenn bei Ihnen Probleme auftreten, überprüfen Sie /var/log/pm-suspend.log. Dort wird der Versuch protokolliert, den Computer anzuhalten und Ihr Skript auszuführen.

Ubuntu Suspend funktioniert nicht FIX

Schritt 1: Öffnen Sie ein Terminal und erstellen Sie eine Skriptdatei wie folgt:

sudo nano /etc/pm/sleep.d/20_custom-ehci_hcd

Schritt 2: Kopieren Sie das gesamte untenstehende Skript in die soeben erstellte Datei und speichern Sie es:

#!/bin/sh
 VERSION=1.1
DEV_LIST=/tmp/usb-dev-list
DRIVERS_DIR=/sys/bus/pci/drivers
DRIVERS="ehci xhci" # ehci_hcd, xhci_hcd
HEX="[[:xdigit:]]"
MAX_BIND_ATTEMPTS=2
BIND_WAIT=0.1
 unbindDev() {
  echo -n > $DEV_LIST 2>/dev/null
   for driver in $DRIVERS; do
    DDIR=$DRIVERS_DIR/${driver}_hcd
    for dev in `ls $DDIR 2>/dev/null | egrep "^$HEX+:$HEX+:$HEX"`; do
      echo -n "$dev" > $DDIR/unbind
      echo "$driver $dev" >> $DEV_LIST
    done
   #for bus in $EHCI_BUSES; do
     echo -n $bus > /sys/bus/pci/drivers/ehci_hcd/unbind
 # done
   done
 }
 bindDev() {
  if [ -s $DEV_LIST ]; then
    while read driver dev; do
      DDIR=$DRIVERS_DIR/${driver}_hcd
      #for bus in $EHCI_BUSES; do
          echo -n $bus > /sys/bus/pci/drivers/ehci_hcd/bind
      #done
      while [ $((MAX_BIND_ATTEMPTS)) -gt 0 ]; do
          echo -n "$dev" > $DDIR/bind
          if [ ! -L "$DDIR/$dev" ]; then
            sleep $BIND_WAIT
          else
            break
          fi
          MAX_BIND_ATTEMPTS=$((MAX_BIND_ATTEMPTS-1))
      done
     done < $DEV_LIST
  fi
  rm $DEV_LIST 2>/dev/null
   chvt 1
  chvt 7
}
 EHCI_BUSES="0000:00:1a.0 0000:00:1d.0"
case "$1" in
    hibernate|suspend)
 unbindDev;;
     resume|thaw)
 bindDev;;
 esac

Schritt 3: Geben Sie dem Skript die Berechtigung zum Ausführen, indem Sie Folgendes eingeben:

sudo chmod 755 /etc/pm/sleep.d/20_custom-ehci_hcd

Antwort2

Nachdem ich mich eingelesen hatte, fand ich heraus, dass das Problem an der Qualcomm Atheros QCA6164 WiFi-Karte lag, die in vielen Lenovo-Laptops verwendet wird (in meinem Fall G50-80). Ubuntu scheint nicht die richtige Firmware für diese Karte zu haben, was zu Problemen führt.

Ich habe auch herausgefunden, dass das Ausschalten des WLANs vor dem Schließen meines Laptops verhindern würde, dass alles abgehört wird, also habe ich das und die Lösung von diesemPostzusammengestellt und eine Datei erstellt, /etc/acpi/um das Ereignis zum Schließen des Deckels zu verarbeiten.

Fügen Sie den folgenden Code hinzu mit sudo nano /etc/acpi/lid.sh:

#!/bin/sh

grep -q closed /proc/acpi/button/lid/LID0/state
if [ $? = 0 ]
then
  nmcli radio wifi off
  pm-suspend
else
  nmcli radio wifi on
fi

Fügen Sie als Nächstes die folgenden Zeilen hinzu sudo nano /etc/acpi/events/lm_lid:

event=button/lid.*
action=/etc/acpi/lid.sh

Entfernen Sie nun die Kommentarzeichen und legen Sie die folgende Zeile fest mit sudo nano /etc/systemd/logind.conf:

HandleLidSwitch=ignore

Gehen Sie abschließend in die System Settings > Powerund stellen Sie alle Optionen zum Schließen des Deckels auf Do Nothing.

Führen Sie Folgendes aus, um die Berechtigungen festzulegen und die Änderungen abzuschließen:

sudo chmod 755 /etc/acpi/lid.sh
sudo /etc/init.d/acpid restart
sudo service systemd-logind restart

Hoffentlich funktioniert es für Sie!

verwandte Informationen