Para las distribuciones de Linux que usan systemd, ¿hay alguna diferencia práctica entre estos dos comandos?
systemctl suspend
pm-suspend
¿Cuál debería usar o preferir?
En resumen, generalmente debería preferir el modo de suspensión integrado por su distribución. Para las distribuciones que envían systemd, eso es típicamente systemctl suspend
.
Por ejemplo, la wiki de Arch Linux dice :
systemd proporciona comandos nativos para suspender, hibernar y una suspensión híbrida; consulte "Administración de energía con systemd" para obtener más detalles. Esta es la interfaz predeterminada utilizada en Arch Linux.
Con systemd,
pm-utils
y sus ganchos ya no se usan, en su lugar haysystemd-suspend
.
La razón por la que desea seguir con lo que usa su distribución es que sus paquetes que se preocupan por suspender / reanudar enviarán scripts de gancho que se integran con pm-utils
( /usr/lib/pm-utils/sleep.d
) o systemd
( /usr/lib/systemd/system-sleep/
), por lo que debe usar la misma interfaz para tener todo el correcto ganchos corren como se esperaba.
Además, las distribuciones normalmente conectarán el método de suspensión / hibernación adecuado en ACPI para eventos de hardware, entornos de escritorio (para botones de apagado que permiten suspender / hibernar), y con protectores / bloqueos de pantalla, etc.
Ambos pm-suspend
y systemd-suspend
usan típicamente las mismas interfaces para realmente poner la computadora en suspensión.
Ambos utilizan de manera predeterminada el controlador de suspensión del kernel (al escribir en /sys/power/state
) y ambos admiten controladores de suspensión externos (como uswsusp
, consulte aquí para obtener detalles sobre cómo conectarlo a systemd).
Ambos admiten archivos de configuración y scripts de enlace que se llaman en el proceso de suspensión o reanudación, la principal diferencia es la ubicación de los archivos (la API de los enlaces es muy similar):
pm-utils
lee su configuración de archivos /etc/pm/config.d
y ejecuta enlaces desde ambos /etc/pm/sleep.d
y /usr/lib/pm-utils/sleep.d
directorios.systemd-suspend
lee su configuración del /etc/systemd/sleep.conf
archivo (o archivos en un sleep.conf.d
directorio) y ejecuta enlaces desde /usr/lib/systemd/system-sleep/
.Entonces, desde ese punto de vista, ambos se ven muy similares ...
Pero systemd va más allá en su soporte para suspender / hibernar / reanudar, ya que:
systemctl suspend
sigue siendo, por supuesto, una opción). útil desde un entorno de escritorio.Así que, aunque ambos pm-utils
y systemd-suspend
lograr el real de suspensión del sistema en aproximadamente la misma forma, la integración con los otros componentes del sistema hace que sea tan es que importe cuál se llama ... Y en las distribuciones systemd envío, entonces systemctl suspend
es típicamente el derecho a llamar.
pm-utils
instalado de manera predeterminada y parece depender de élsystemctl
, pero/usr/lib/pm-utils/sleep.d/
tiene elementos y/usr/lib/systemd/system-sleep/
no existe. Sin embargo, sí veo/lib/systemd/system-sleep/
y varios más debajo/snap/
, todos los cuales tienen uno o dos archivos en ellos.