i3-Status friert ein
Ich verwende i3 Windows Manager unter Debian 10 und stelle über X2go eine Verbindung zum Computer her, da ich gerade zu Hause arbeite.
Seit dem Upgrade von Debian 9 auf Debian 10 (kürzlich durchgeführt) friert die i3-Statusleiste ein und ich muss i3 neu laden, was ein leichter Schmerz ist.
Hier ist meine .i3status.conf
general {
interval = 1
colors = true
color_good = '#88b090'
color_degraded = '#ccdc90'
color_bad = '#e89393'
}
# order += "volume master"
# order += "disk /"
# order += "disk /home"
# order += "disk /media/data"
# order += "ethernet br0"
# order += "cpu_temperature 0"
# order += "memory"
# order += "load"
order += "tztime local"
# ethernet br0 {
# #if you use %speed, i3status requires root privileges
# format_up = "%ip (%speed)"
# format_down = ""
# }
tztime local {
format = "%A %e.%B %H:%M:%S"
}
# load {
# format = "%1min"
# }
# cpu_usage {
# format = "%usage"
# }
# cpu_temperature 0 {
# format = "%degrees°C"
# }
# disk "/" {
# format = "/ %avail"
# prefix_type = custom
# }
# disk "/home" {
# format = "/home %avail"
# prefix_type = custom
# }
# disk "/media/data" {
# format = "/media/data %avail"
# prefix_type = custom
# }
# volume master {
# format = "VOL: %volume "
# format_muted = "MUTE "
# device = "default"
# mixer = "Master"
# mixer_idx = 0
# }
Wenn es einfriert, bewegt sich die Zeit nicht, aber ich kann das Datum und die Uhrzeit nur in einem eingefrorenen Zustand sehen.
Ich habe versucht, i3status in einem Terminal auszuführen, und es läuft seit einigen Wochen ohne Unterbrechung einwandfrei.
Hier ist die Ausgabe (beachten Sie, dass ich alle Einstellungen in meiner Konfiguration aktiviert hatte und sie seitdem nicht mehr neu starten musste).
~ % i3status
i3status: trying to auto-detect output_format setting
i3status: auto-detected "term"
/ 6.5 GB | /home 103.1 GB | /media/data 543.9 GB | 4.29 | Monday 28.September 09:10:16
Ich kann das Problem nicht replizieren, aber ich denke, es hat möglicherweise etwas damit zu tun, wenn ich X2go beende. Wenn ich X2go beende, läuft die Sitzung im Hintergrund und am nächsten Tag stelle ich eine Verbindung her. Wenn es sich in diesem Zustand befindet, friert es normalerweise ein. Möglicherweise möchte i3-status nicht in einer X2go-Sitzung sein, die getrennt wurde, aber noch ausgeführt wird.
Aktualisieren
Nach dem Ausführen des Skripts i3status.sh ist es fehlgeschlagen, als ich X2go kurz nach der Arbeit getrennt habe und die Fehlermeldung angezeigt wird.
i3status: trying to auto-detect output_format setting
i3status: falling back to "none"
Ich habe Folgendes zu meiner Konfiguration hinzugefügt -> allgemeiner Bereich zum Testen
output_format = "i3bar"
Update: Erzwungener Fehler
Es ist gerade gelungen, einen Fehlschlag zu erzwingen, indem die X2go-Remotesitzung beendet wurde (aber im Hintergrund ausgeführt wurde), ein Kaffee gekocht wurde (5 Minuten) und dann die X2go-Sitzung wieder aufgenommen wurde.
Es schlägt immer noch fehl, wenn output_format auf i3bar gezwungen wird. Ich bekomme jetzt keinen Fehler in i3status-err.log.
Ich muss ++ r drücken, um es wieder zu starten.
Antworten
Wenn die Statusleiste einfriert, ist der Prozess wahrscheinlich abgestürzt und wurde beendet. Sie sollten überprüfen, ob es ausgeführt i3statuswird, wenn das Problem erneut auftritt.
Sie können auch ein i3statuseigenes Skript verwenden, um das Problem zu beheben.
configErsetzen status_commandSie in Ihrer i3- Datei das durch Ihr eigenes Skript:
# status_command i3status -c ~/.config/i3/i3status
status_command /home/YOURUSER/.config/i3/i3status.sh
Erstellen ~/.config/i3/i3status.sh(und chmod + x):
#!/bin/bash
echo $(date) started >> /tmp/i3status.log while : do i3status 2> /tmp/i3status-err.log | while : do read line echo "$line"
touch /tmp/i3status-last-seen.log
done
echo $(date) restarted >> /tmp/i3status.log
done
Wenn es sich um einen Fehler von i3status handelt, versuchen Sie diese Alternative:
https://github.com/altdesktop/i3-dstatus