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.
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
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
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