i3-status congela

Sep 28 2020

Estou executando o gerenciador de janelas i3 no Debian 10 e estou me conectando ao computador através do X2go porque estou trabalhando em casa no momento.

Desde a atualização do Debian 9 para o Debian 10 (feito recentemente), a barra de status do i3 congela e eu tenho que 'recarregar' o i3, o que é um pouco chato.

Aqui está meu .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
# }

Quando congela, a hora não está se movendo, mas ainda posso ver a data e a hora apenas congeladas.

Eu tentei executar o i3status em um terminal e está funcionando bem por algumas semanas sem parar;

Aqui está a saída (observe que foi quando todas as minhas configurações estavam ativadas e não tive que reiniciá-lo desde então);

 ~ % 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

Não consigo replicar o problema, mas acho que pode ter algo a ver com quando eu sair do X2go. Quando saio do X2go, mantenho a sessão em execução em segundo plano e, no dia seguinte, me conecto a ela. Agora, quando está neste estado, é quando normalmente congela. Talvez o i3-status não goste de estar em uma sessão X2go que foi desconectada, mas ainda está em execução.

Atualizar

Depois de executar o script i3status.sh, ele falhou quando desconectei o X2go logo após o trabalho e recebo o erro;

i3status: trying to auto-detect output_format setting
i3status: falling back to "none"

Eu adicionei o seguinte à minha configuração -> área geral para testar

    output_format = "i3bar"

Atualização: falha forçada

Consegui forçar a falha, saindo da sessão remota do X2go (mas mantendo-o em segundo plano), fazendo um café (5 minutos) e depois retornando à sessão do X2go.

Ele ainda falha com output_format forçado para i3bar. Não recebo nenhum erro no i3status-err.log agora.

Preciso apertar ++ r para começar de novo.

Respostas

laktak Oct 04 2020 at 02:48

Se a barra de status congelar, é provável que o processo tenha travado e encerrado. Você deve verificar se i3statusestá em execução quando o problema ocorrer novamente.

Você também pode agrupar i3statuscom seu próprio script para solucionar o problema.

No seu configarquivo i3, substitua o status_commandpelo seu próprio script:

# status_command i3status -c ~/.config/i3/i3status
status_command /home/YOURUSER/.config/i3/i3status.sh

Criar ~/.config/i3/i3status.sh(e 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

Ou, se for um bug do i3status, tente esta alternativa:

https://github.com/altdesktop/i3-dstatus