Diese Seite beschriebt die Einrichtung von Debian Stretch auf einem Thinkpad X230.
Inhaltsverzeichnis
Bildschirm
Externen Bildschirm beim Resume aktivieren
Mit einem aktuellen Debian bleibt ein extern angeschlossener Bildschirm nach dem Aufwachen aus dem Hibernate schwarz1. Ein Ansatz um das Problem zu lösen, ist den internen Bildschirm vor dem Hibernate zu aktivieren und den externen zu deaktivieren. Dazu lässt sich systemd nutzen:
Ein Skript wird als /etc/systemd/system/suspend@<username>.service erstellen2:
[Unit] Description=User suspend actions Before=sleep.target [Service] User=%I Type=oneshot Environment=DISPLAY=:0 ExecStart=/usr/bin/xrandr --output LVDS-1 --auto --output HDMI-2 --off [Install] WantedBy=sleep.target
Nun das Skript aktivieren:
systemctl enable suspend@<username>.service
Daemon neu laden und testen:
systemctl daemon-reload
Zum Aufwachen kann bspw. dieses Skript benutzt werden
Bildschirm umschalten bei An- und Abdocken
Mit XFCE (und vermutlich auch weiteren Window-Managern) klappt das automatische Umschalten zwischen den Bildschirmen beim An- und Abdocken nicht. Eine Udev-Regel schafft Abhilfe:
/etc/udev/rules.d/95-monitor-hotplug.rules mit folgendem Inhalten anlegen:
KERNEL=="card0", SUBSYSTEM=="drm", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/home/foo/.Xauthority", RUN+="/usr/local/bin/hotplug_monitor.sh"
/usr/local/bin/hotplug_monitor.sh anlegen:
#!/usr/bin/bash export DISPLAY=:0 export XAUTHORITY=/home/foo/.Xauthority function connect(){ xrandr --output HDMI-1 --right-of LVDS-1 --preferred --primary --output LVDS-1 --preferred } function disconnect(){ xrandr --output HDMI-1 --off } xrandr | grep "HDMI-1 connected" &> /dev/null && connect || disconnect
Lüftersteuerung
Bei neueren Thinkpad-Modell funktioniert die Lüftersteuerung über /proc/acpi/ibm/thermal nicht mehr. Hier sind nach der Installation von Thinkfan ein paar extra Schritte notwendig.
Damit die Lüftersteuerung funktioniert, muß das Kernelmodul thinkpad_acpi mit der Option fan_control=1 geladen werden:
echo "options thinkpad_acpi fan_control=1" | sudo tee /etc/modprobe.d/thinkfan.conf
- Anschließend das Modul entladen und neuladen bzw. den Rechner neu starten, falls das Modul bereits in Nutzung ist
Thinkfan installieren:
apt install thinkfan
Erkennung der Temperatursensoren starten
sensors-detect
Alle Fragen mit YES beantworten
Zum Schluss die Daten speichern --> yes:
Do you want to add these lines automatically to /etc/modules? (yes/NO)
Module mit neuen Einstellungen laden:
/etc/init.d/kmod start
Temperatursensoren ermitteln:
find /sys/devices -type f -name "temp*_input"
Die ermittelten Sensoren werden nun mit einem vorangestellten hwmon in /etc/thinkfan.conf eingetragen3:
hwmon /sys/devices/virtual/hwmon/hwmon0/temp1_input hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon1/temp3_input hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon1/temp1_input hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon1/temp2_input
Dienst aktivieren4:
systemctl enable thinkfan.service
Nun können noch die Schwellwerte auf eigene Gefahr angepasst werden - du solltest hier sehr vorsichtig und eher konservativ vorgehen, da ansonsten das Notebook beschädigt werden könnten. Orientiert an könnten die Folgenden Werte in /etc/thinfan.conf eingetragen werden:
(0, 0, 60) (1, 57, 63) (2, 60, 66) (3, 64, 68) (4, 66, 72) (5, 70, 74) (7, 72, 32767)
Der Daemon kann nun gestoppt und im Vordergrund aktiviert werden, um sich die aktuellen Lüfterwerte anzeigen zu lassen:
thinkfan -n
Bei Bedarf kann noch das Regelverhalten angepasst werden.
Fussnoten und Hinweise
Der X-Server kann aufgrund eines Fehlers den Bildschirm nicht initialisieren (1)
Welche Ausgaben du verwendest, kannst du dir mit xrandr anzeigen lassen (2)
Bei der ersten Ermittlung wurden die Sensoren unter /sys/devices/platform/coretemp.0/hwmon/hwmon2/ statt hwmon1 gefunden, wodurch Thinkfan nicht startete (3)
Die Autostart-Option in /etc/default/thinkfan wird bei Verwendung von systemd ignoriert (4)