Problema de início de sessão no Pop_OS 24.04 Cosmic

Olá, pessoal.

Ontem fiz uma actualização do sistema, via “sudo apt update”, e, e nela constava actualização relacionada ao cosmic-session depois da actualização, volvido algum tempo comecei a ter problemas com o início de sessão do Pop_OS Cosmic.

A situação é a seguinte: depois de inicializar o pc, vem a tela de login, coloco a palavra passe, dá a ideia de que vai aparecer o ambiente gráfico, mas não, volta novamente para a tela de login.

Mas, antes de aparecer novamente a tela de login vem a seguinte informação:

/usr/bin/start-cosmic: linha 73: autofitter: darkening: nome de variável inválido

Já tentei usar IA para resolver, já reinstalei o sistema duas vezes, mas depois de actualizar todos os pacotes, volvido algum tempinho, quando você reinicia o sistema, o problema volta.

Podem me dar uma ajuda de como resolver?

Obrigado pela atenção!

2 curtidas

Estou tendo o mesmo problema, pelo q eu entendi não está carregando as variáveis de ambiente, nessa linha rle faz um for lendo as variáveis mas não consegue carregar essa variável pois ela é um lista ai não sei como resolver

1 curtida

Que mal!

Tem uma ocasião que eu tentei resolver usando instrução da IA, a fim de resolver manualmente o problema, mas não encontrava a linha autofitter no documento.

consegui arrumar, vc precisa editar o arquico /usr/bin/start-cosmic usando o nano, pra isso quando ligar o pc vc vai e chagar na tela de login, vc vai precionar ctrl+alt+f3, isso vai fazer vc entrar direto no terminal. faça o login do e use o nano pra editar o arquivo, na linha que esta escrito existing_env_vars logo a baixo vai ter um for, vc vai apagar ele todo até o primeiro done.
feito isso vc vai subistituir ele por esse comando aqui

for env_var in “${existing_env_vars[@]}”; do # Extrai o nome da variável antes do ‘=’ env_var_name=“${env_var%%=*}” # Filtra nomes inválidos para o shell (evita o erro da imagem) if [[ “$env_var_name” =~ [:-] || -z “$env_var_name” ]]; then continue fi # Compara e importa se necessário env_var_val_str_to_compare=“${env_var_name}=${!env_var_name:-}” if [[ “${env_var}” != “${env_var_val_str_to_compare}” ]]; then env_var_unassigned_str=“${env_var_name}=” if [[ “${env_var_val_str_to_compare}” != “${env_var_unassigned_str}” ]]; then systemctl --user import-environment “${env_var_name}” ||: fi fi done

isso vai corrigir a questão da variavel que ta zicada

2 curtidas

Uma questão:

Posso copiar e colar o código que você enviou? Ou há necessidade de apagar alguma coisa nele?

Não entendo nada sobre códigos. kkk

Pedi ao Gemini, a fim de esclarecer o que disseste e ele apresentou o seguinte código, pronto para ser colocado no nano. Está correcto?

for env_var in “${existing_env_vars[@]}”; do

Extrai o nome da variável antes do ‘=’

env_var_name=“${env_var%%=*}”

    # Filtra nomes inválidos para o shell (contendo : ou -)
    if [[ "$env_var_name" =~ [:-] || -z "$env_var_name" ]]; then
        continue
    fi
    
    # Compara e importa se necessário
    env_var_val_str_to_compare="${env_var_name}=${!env_var_name:-}"
    if [[ "${env_var}" != "${env_var_val_str_to_compare}" ]]; then
        env_var_unassigned_str="${env_var_name}="
        if [[ "${env_var_val_str_to_compare}" != "${env_var_unassigned_str}" ]]; then
            systemctl --user import-environment "${env_var_name}" ||:
        fi
    fi
done

sim usa o nano pra abri o arquivo, depois edita aquele for que eu falei que da certo

Já fiz, e penso que deu certo.

Obrigado!

1 curtida

Este tópico foi fechado automaticamente 3 dias depois da última resposta. Novas respostas não são mais permitidas.