Estoy ejecutando Ubuntu 16.04 LTS en mi Lenovo G50 y todo va bien excepto que no puedo cerrar la tapa de mi computadora portátil sin necesidad de reiniciar después. Cuando cierro la tapa (o si ejecuto pm-suspend
), la pantalla de mi computadora portátil se oscurece durante unos segundos y luego se vuelve a encender.
El problema es que cuando intento reanudarlo, mi portátil básicamente se convierte en una patata... Por alguna razón, el administrador de red (tanto wifi como ethernet) no funciona en absoluto, el terminal se vuelve extremadamente lento y no puedo ejecutar cualquier comando que use sudo
porque quedará colgado allí para siempre.
Intenté cambiar el logind.conf
archivo, intenté cambiar el archivo Power System Settings
, actualicé mi controlador de gráficos Intel, instalé herramientas como pmi
o laptop-mode
... Me estoy quedando sin ideas, pero haría cualquier cosa para solucionar este problema. .
Si hay alguna información del sistema que pueda ser útil, hágamelo saber y la agregaré a la publicación.
Respuesta1
Para cambiar la acción de cerrar la tapa en Ubuntu:
Abra el archivo /etc/systemd/logind.conf en un editor de texto como root, por ejemplo,
sudo nano /etc/systemd/logind.conf
Cambie esta línea:
#HandleLidSwitch=ignore
A esta línea:
HandleLidSwitch=suspend
Asegúrate de que esté comentado.
Alternativamente, también puedes agregar esta línea, pero prefiero la primera:
HandleLidSwitchDocked=suspend
Entonces corre :
sudo service systemd-logind restart
Oreiniciar.
Para solucionar problemas del modo de hibernación/suspensión, debe escribir el siguiente comando en la terminal:
dmesg|less
Por lo general, hay una entrada sobre qué aplicación provocó que fallara la suspensión:
[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
Reparar suspensión en portátiles
sudo apt-get install uswsusp
Ahora prueba suspender con:
sudo s2ram
Si no funciona usa:
sudo s2ram --force
A continuación edite este archivo:
sudo nano /usr/lib/hal/scripts/linux/hal-system-power-suspend-linux
Cambiar código a:
#!/bin/sh
/sbin/s2ram --force
Editar: otra solución:
Coloque un script en ' /etc/pm/sleep.d/ ', los scripts allí se ejecutarán al suspender y reanudar. El nombre del archivo debe comenzar con un número de pedido, 00-49 para scripts de usuario (para obtener más detalles, consulte man pm-suspend).
El guión podría verse así
#!/bin/sh
(killall -9 mount.nfs; exit 0)
Si tiene problemas, consulte /var/log/pm-suspend.log que registrará el intento de suspender y ejecutar su script.
La suspensión de Ubuntu no funciona. REVISIÓN
Paso 1: abra una terminal y cree un archivo de script de la siguiente manera:
sudo nano /etc/pm/sleep.d/20_custom-ehci_hcd
Paso 2: Copie el script completo a continuación en el archivo que acaba de crear y guárdelo:
#!/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
Paso 3: Otorgue permisos de ejecución al script escribiendo:
sudo chmod 755 /etc/pm/sleep.d/20_custom-ehci_hcd
Respuesta2
Después de leer, descubrí que el problema estaba en la tarjeta WiFi Qualcomm Atheros QCA6164 utilizada en muchas computadoras portátiles Lenovo (G50-80 en mi caso). Ubuntu no parece tener el firmware adecuado para esta tarjeta, lo que hace que funcione mal.
También descubrí que apagar el Wifi antes de cerrar mi computadora portátil evitaría que todo fallara, así que puse eso y la solución de esto.correojuntos y crearon un archivo /etc/acpi/
para manejar el evento de cierre de la tapa.
Agregue el siguiente código usando 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
A continuación, agregue las siguientes líneas usando sudo nano /etc/acpi/events/lm_lid
:
event=button/lid.*
action=/etc/acpi/lid.sh
Ahora, descomente y configure la siguiente línea usando sudo nano /etc/systemd/logind.conf
:
HandleLidSwitch=ignore
Finalmente, vaya a System Settings > Power
y coloque todas las opciones de tapa de cierre en Do Nothing
.
Ejecute lo siguiente para configurar los permisos y finalizar los cambios:
sudo chmod 755 /etc/acpi/lid.sh
sudo /etc/init.d/acpid restart
sudo service systemd-logind restart
¡Esperemos que funcione para usted!