New Chat
  • Slides
  • Websites
  • Docs
  • Deep Research
  • Sheets
  • Agent Swarm
Kimi Code
Kimi Claw
Chat History
  • Get App
  • About Us
    • Visit Moonshot AI
    • Kimi Platform
    • Features
    • Terms of Service
    • Privacy Policy
  • Language
  • Get Help
Expand Sidebar

Problema Cosmic no Pop!_OS

pavani@pop-os:~$ cosmic-settings ERROR Failed to read config 'accessibility_zoom', err: GetKey("accessibility_zoom", Os { code: 2, kind: NotFound, message: "Arquivo ou diretório inexistente" }) at cosmic-settings/src/pages/accessibility/magnifier.rs:60 on main ERROR shortcuts custom config error: GetKey("custom", Os { code: 2, kind: NotFound, message: "Arquivo ou diretório inexistente" }) at /build/cosmic-settings-icFwkj/cosmic-settings-1.0.7~1774389977~24.04~7dc9530/vendor/cosmic-settings-config/src/shortcuts/mod.rs:43 on main ERROR Failed to load Panel system config., err: GetKey("padding_overlap", Os { code: 2, kind: NotFound, message: "Arquivo ou diretório inexistente" }) at cosmic-settings/src/pages/desktop/panel/mod.rs:90 on main ERROR Error when loading Panel container config., err: GetKey("padding_overlap", Os { code: 2, kind: NotFound, message: "Arquivo ou diretório inexistente" }) at cosmic-settings/src/pages/desktop/panel/inner.rs:71 on main ERROR Error when loading Panel container config., err: GetKey("padding_overlap", Os { code: 2, kind: NotFound, message: "Arquivo ou diretório inexistente" }) at cosmic-settings/src/pages/desktop/panel/inner.rs:71 on main ERROR Failed to load Dock system config., err: GetKey("padding_overlap", Os { code: 2, kind: NotFound, message: "Arquivo ou diretório inexistente" }) at cosmic-settings/src/pages/desktop/dock/mod.rs:138 on main ERROR Error when loading Panel container config., err: GetKey("padding_overlap", Os { code: 2, kind: NotFound, message: "Arquivo ou diretório inexistente" }) at cosmic-settings/src/pages/desktop/panel/inner.rs:71 on main ERROR Error when loading Panel container config., err: GetKey("padding_overlap", Os { code: 2, kind: NotFound, message: "Arquivo ou diretório inexistente" }) at cosmic-settings/src/pages/desktop/panel/inner.rs:71 on main ERROR Failed to read config 'focus_follows_cursor', err: GetKey("focus_follows_cursor", Os { code: 2, kind: NotFound, message: "Arquivo ou diretório inexistente" }) at cosmic-settings/src/pages/desktop/window_management.rs:53 on main ERROR Failed to read config 'cursor_follows_focus', err: GetKey("cursor_follows_focus", Os { code: 2, kind: NotFound, message: "Arquivo ou diretório inexistente" }) at cosmic-settings/src/pages/desktop/window_management.rs:61 on main ERROR Failed to read config 'focus_follows_cursor_delay', err: GetKey("focus_follows_cursor_delay", Os { code: 2, kind: NotFound, message: "Arquivo ou diretório inexistente" }) at cosmic-settings/src/pages/desktop/window_management.rs:70 on main ERROR Failed to read config 'active_hint', err: GetKey("active_hint", Os { code: 2, kind: NotFound, message: "Arquivo ou diretório inexistente" }) at cosmic-settings/src/pages/desktop/window_management.rs:79 on main ERROR Failed to read config 'edge_snap_threshold', err: GetKey("edge_snap_threshold", Os { code: 2, kind: NotFound, message: "Arquivo ou diretório inexistente" }) at cosmic-settings/src/pages/desktop/window_management.rs:88 on main ERROR shortcuts custom config error: GetKey("custom", Os { code: 2, kind: NotFound, message: "Arquivo ou diretório inexistente" }) at /build/cosmic-settings-icFwkj/cosmic-settings-1.0.7~1774389977~24.04~7dc9530/vendor/cosmic-settings-config/src/shortcuts/mod.rs:43 on main ERROR Failed to read config 'workspaces', err: GetKey("workspaces", Os { code: 2, kind: NotFound, message: "Arquivo ou diretório inexistente" }) at cosmic-settings/src/pages/desktop/workspaces.rs:44 on main ERROR Failed to read config 'input_default', why: GetKey("input_default", Os { code: 2, kind: NotFound, message: "Arquivo ou diretório inexistente" }) at cosmic-settings/src/pages/input/mod.rs:53 on main ERROR Failed to read config 'workspaces', err: GetKey("workspaces", Os { code: 2, kind: NotFound, message: "Arquivo ou diretório inexistente" }) at cosmic-settings/src/pages/input/touchpad.rs:27 on main ERROR Failed to read config 'descale_xwayland', err: GetKey("descale_xwayland", Os { code: 2, kind: NotFound, message: "Arquivo ou diretório inexistente" }) at cosmic-settings/src/pages/applications/legacy_applications.rs:61 on main ERROR Failed to read config 'xwayland_eavesdropping', err: GetKey("xwayland_eavesdropping", Os { code: 2, kind: NotFound, message: "Arquivo ou diretório inexistente" }) at cosmic-settings/src/pages/applications/legacy_applications.rs:70 on main ERROR Handling wgpu errors as fatal by default at /build/cosmic-settings-icFwkj/cosmic-settings-1.0.7~1774389977~24.04~7dc9530/vendor/wgpu/src/backend/wgpu_core.rs:1058 on main The application panicked (crashed). Message: wgpu error: Validation Error Caused by: In Device::create_shader_module, label = 'iced_wgpu.quad.solid.shader' Shader validation error: Function [1] 'unpack_u32' is invalid ┌─ iced_wgpu.quad.solid.shader:9:1 │ 9 │ ╭ fn unpack_u32(data: vec2<u32>) -> vec4<f32> { 10 │ │ let rg: vec2<f32> = unpack2x16float(data.x); │ │ ^^^^^^^^^^^^^^^ naga::ir::Expression [2] 11 │ │ let ba: vec2<f32> = unpack2x16float(data.y); 12 │ │ 13 │ │ return vec4<f32>(rg.y, rg.x, ba.y, ba.x); │ ╰─────────────────────────────────────────────^ naga::ir::Function [1] │ = Expression [2] is invalid = Shader requires capability Capabilities(SHADER_FLOAT16_IN_FLOAT32) Expression [2] is invalid Shader requires capability Capabilities(SHADER_FLOAT16_IN_FLOAT32) Location: /build/cosmic-settings-icFwkj/cosmic-settings-1.0.7~1774389977~24.04~7dc9530/vendor/wgpu/src/backend/wgpu_core.rs:1058 Backtrace omitted. Run with RUST_BACKTRACE=1 environment variable to display it. Run with RUST_BACKTRACE=full to include source snippets. Abortado (imagem do núcleo gravada)
Agora sim! Encontramos o problema real. O erro é claro:
plain
Copy
Shader requires capability Capabilities(SHADER_FLOAT16_IN_FLOAT32)
Isso é um bug de GPU/driver que foi introduzido na atualização da quinta-feira. O COSMIC está tentando usar shaders com precisão float16, mas sua GPU (provavelmente uma Intel mais antiga ou NVIDIA/AMD com driver específico) não suporta essa capacidade no wgpu.

Soluções

1. Rollback imediato (recomendado)

Reverter para a versão anterior do cosmic-settings e componentes relacionados:
bash
Copy
# Verificar versões disponíveis
apt-cache policy cosmic-settings cosmic-comp | grep -A5 "Version"

# Fazer downgrade (substitua pelas versões anteriores à quinta)
sudo apt install cosmic-settings=1.0.0~1741527862~24.04~a9ae21d \
                 cosmic-comp=0.1.0~1742830561~24.04~9c14713 \
                 --allow-downgrades
Se não souber a versão exata, use:
bash
Copy
# Listar versões anteriores disponíveis
apt-cache showpkg cosmic-settings | grep -A20 "Versions:"

# Ou reinstalar versão anterior genérica
sudo apt install cosmic-settings=1.0.0~1740094682~24.04~b2ae76b --allow-downgrades 2>/dev/null || \
sudo apt install cosmic-settings=1.0.0~1741527862~24.04~a9ae21d --allow-downgrades

2. Workaround: Forçar renderizador software

Se não conseguir fazer downgrade imediatamente:
bash
Copy
# Forçar uso de renderização por software (lento mas funcional)
export LIBGL_ALWAYS_SOFTWARE=1
export WGPU_BACKEND=gl
export ICED_BACKEND=tiny-skia

cosmic-settings
Ou crie um script permanente:
bash
Copy
cat > ~/.local/bin/cosmic-safe << 'EOF'
#!/bin/bash
export WAYLAND_DISPLAY=wayland-1
export XDG_RUNTIME_DIR=/run/user/$(id - u)
export LIBGL_ALWAYS_SOFTWARE=1
export WGPU_BACKEND=gl
/usr/bin/$@
EOF

chmod +x ~/.local/bin/cosmic-safe
Uso: cosmic-safe cosmic-settings

3. Verificar se há atualização corrigindo

bash
Copy
sudo apt update
apt list --upgradable 2>/dev/null | grep cosmic
Se houver atualizações disponíveis, pode ser que já tenham corrigido:
bash
Copy
sudo apt full-upgrade

4. Reportar o bug

Este é um bug conhecido do wgpu/iced. Verifique se já existe issue aberta:
bash
Copy
# Sua versão exata que está quebrada
dpkg -l | grep cosmic-settings

Resumo das opções

Table
Copy
OpçãoComandoResultado
Rollbacksudo apt install cosmic-settings=VERSÃO_ANTIGA --allow-downgradesMelhor solução
Software renderingexport LIBGL_ALWAYS_SOFTWARE=1 && cosmic-settingsFunciona mas lento
Aguardar correçãosudo apt update && sudo apt full-upgradeSe houver fix novo
Qual sua placa de vídeo? Execute lspci | grep -i vga para confirmar se é Intel/NVIDIA/AMD. Isso ajuda a entender por que o float16 não está disponível.
Por enquanto, recomendo fortemente o rollback para a versão anterior à quinta-feira.
forçar a renderização, mas o script permanente não deu certo teria como recriar o script
Vamos recriar o script corretamente. O problema provavelmente foi no caminho ou permissões.

Script Corrigido

Execute no terminal:
bash
Copy
# Criar diretório se não existir
mkdir -p ~/.local/bin

# Criar o script com conteúdo correto
cat > ~/.local/bin/cosmic-safe << 'EOF'
#!/bin/bash
export WAYLAND_DISPLAY=wayland-1
export XDG_RUNTIME_DIR=/run/user/$(id - u)
export LIBGL_ALWAYS_SOFTWARE=1
export WGPU_BACKEND=gl
export ICED_BACKEND=tiny-skia

# Executar o comando passado como argumento
"$@"
EOF

# Tornar executável
chmod +x ~/.local/bin/cosmic-safe

# Adicionar ao PATH se necessário
export PATH="$HOME/.local/bin:$PATH"

Uso

Agora teste:
bash
Copy
# Recarregar o PATH
source ~/.bashrc

# Ou use o caminho completo diretamente
~/.local/bin/cosmic-safe cosmic-settings

~/.local/bin/cosmic-safe cosmic-files

~/.local/bin/cosmic-safe cosmic-store

Se ainda não funcionar

Verifique se as variáveis estão sendo aplicadas:
bash
Copy
~/.local/bin/cosmic-safe env | grep -E "LIBGL|WGPU|ICED"
Isso deve mostrar:
plain
Copy
LIBGL_ALWAYS_SOFTWARE=1
WGPU_BACKEND=gl
ICED_BACKEND=tiny-skia

Alternativa: Alias direto no shell

Se o script continuar problemático, use alias no ~/.bashrc:
bash
Copy
echo 'alias cosmic-settings="export WAYLAND_DISPLAY=wayland-1 && export XDG_RUNTIME_DIR=/run/user/$(id - u) && export LIBGL_ALWAYS_SOFTWARE=1 && export WGPU_BACKEND=gl && /usr/bin/cosmic-settings"' >> ~/.bashrc
echo 'alias cosmic-files="export WAYLAND_DISPLAY=wayland-1 && export XDG_RUNTIME_DIR=/run/user/$(id - u) && export LIBGL_ALWAYS_SOFTWARE=1 && export WGPU_BACKEND=gl && /usr/bin/cosmic-files"' >> ~/.bashrc
echo 'alias cosmic-store="export WAYLAND_DISPLAY=wayland-1 && export XDG_RUNTIME_DIR=/run/user/$(id - u) && export LIBGL_ALWAYS_SOFTWARE=1 && export WGPU_BACKEND=gl && /usr/bin/cosmic-store"' >> ~/.bashrc

source ~/.bashrc
Depois use simplesmente: cosmic-settings, cosmic-files, etc.
Qual erro apareceu quando tentou usar o script anterior?
Perfeito! Agora que os apps funcionam pelo terminal com as variáveis de ambiente, precisamos fazer os ícones do sistema usarem essas mesmas configurações.

Solução 1: Modificar os arquivos .desktop (Recomendada)

Os ícones do COSMIC usam arquivos .desktop. Vamos modificá-los para incluir as variáveis:
bash
Copy
# Criar diretório de aplicações do usuário
mkdir -p ~/.local/share/applications

# Copiar e modificar os arquivos desktop principais
cp /usr/share/applications/com.system76.CosmicSettings.desktop ~/.local/share/applications/
cp /usr/share/applications/com.system76.CosmicFiles.desktop ~/.local/share/applications/
cp /usr/share/applications/com.system76.CosmicStore.desktop ~/.local/share/applications/
cp /usr/share/applications/com.system76.CosmicEdit.desktop ~/.local/share/applications/
cp /usr/share/applications/com.system76.CosmicTerm.desktop ~/.local/share/applications/
Agora modifique cada um. Exemplo para o Settings:
bash
Copy
# Editar o arquivo
nano ~/.local/share/applications/com.system76.CosmicSettings.desktop
Mude a linha Exec= para:
ini
Copy
Exec=env WAYLAND_DISPLAY=wayland-1 XDG_RUNTIME_DIR=/run/user/1000 LIBGL_ALWAYS_SOFTWARE=1 WGPU_BACKEND=gl /usr/bin/cosmic-settings
⚠️ Substitua 1000 pelo seu UID real (verifique com id -u)
Ou faça automaticamente para todos:
bash
Copy
# Pegar seu UID
MYUID=$(id -u)

# Modificar todos os arquivos de uma vez
for app in cosmic-settings cosmic-files cosmic-store cosmic-edit cosmic-term cosmic-player cosmic-calculator; do
    desktop_file="$HOME/.local/share/applications/com.system76.Cosmic$(echo $app | sed 's/cosmic-//' | sed 's/.*/\u&/').desktop"
    if [ -f "$desktop_file" ]; then
        sed -i "s|^Exec=.*|Exec=env WAYLAND_DISPLAY=wayland-1 XDG_RUNTIME_DIR=/run/user/$MYUID LIBGL_ALWAYS_SOFTWARE=1 WGPU_BACKEND=gl /usr/bin/$app|" "$desktop_file"
        echo "Modificado: $desktop_file"
    fi
done

Solução 2: Script wrapper global (mais limpo)

Crie um wrapper que substitui os executáveis originais no PATH do usuário:
bash
Copy
# Criar diretório de binários do usuário (prioridade alta)
mkdir -p ~/.local/bin

# Criar wrappers para cada app
for app in cosmic-settings cosmic-files cosmic-store cosmic-edit cosmic-term cosmic-player cosmic-calculator cosmic-reader; do
    cat > ~/.local/bin/$app << EOF
#!/bin/bash
export WAYLAND_DISPLAY=wayland-1
export XDG_RUNTIME_DIR=/run/user/$(id - u)
export LIBGL_ALWAYS_SOFTWARE=1
export WGPU_BACKEND=gl
export ICED_BACKEND=tiny-skia
/usr/bin/$app "\$@"
EOF
    chmod +x ~/.local/bin/$app
    echo "Criado: ~/.local/bin/$app"
done
Verifique se ~/.local/bin está no PATH:
bash
Copy
echo $PATH | grep ".local/bin"
Se não aparecer, adicione ao ~/.bashrc:
bash
Copy
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

Solução 3: Modificar a sessão inteira (nuclear)

Aplique as variáveis para toda a sessão COSMIC:
bash
Copy
# Criar arquivo de configuração de sessão
mkdir -p ~/.config/environment.d
cat > ~/.config/environment.d/99-cosmic-gpu.conf << EOF
WAYLAND_DISPLAY=wayland-1
LIBGL_ALWAYS_SOFTWARE=1
WGPU_BACKEND=gl
ICED_BACKEND=tiny-skia
EOF
Depois logout/login ou reinicie.

Solução 4: Modificar o lançador do COSMIC (mais profundo)

Se nada funcionar, modifique como o COSMIC Panel inicia os apps:
bash
Copy
# Editar ou criar override do systemd
mkdir -p ~/.config/systemd/user
systemctl --user edit cosmic-panel
Adicione no editor que abrir:
ini
Copy
[Service]
Environment="LIBGL_ALWAYS_SOFTWARE=1"
Environment="WGPU_BACKEND=gl"
Environment="ICED_BACKEND=tiny-skia"
Depois:
bash
Copy
systemctl --user restart cosmic-panel
systemctl --user restart cosmic-session

Recomendação

Table
Copy
MétodoDificuldadeEficácia
Solução 1 (.desktop)MédiaAlta (apenas apps COSMIC)
Solução 2 (wrapper)BaixaAlta (todos os apps)
Solução 3 (sessão)BaixaMáxima (tudo)
Teste primeiro a Solução 2 (wrapper) - é a mais limpa e fácil de reverter. Se não funcionar, vá para a Solução 3.
Me informe qual funcionou!
os apps no menu abrem, mas na dock não estão abrindo
Perfeito! Se os apps abrem pelo menu/launcher mas não pela dock, o problema é específico no COSMIC Panel/Dock. A dock provavelmente está usando caminhos diferentes para lançar os apps.

Diagnóstico Rápido

Primeiro, vamos verificar como a dock está tentando abrir os apps:
bash
Copy
# Verificar logs do panel quando clica na dock
journalctl --user -u cosmic-panel -f &
# Depois clique em um ícone da dock que não abre
# Pressione Ctrl+C para parar o log

Solução 1: Reiniciar o Panel com variáveis (mais comum)

A dock herda o ambiente do cosmic-panel. Vamos reiniciá-lo com as variáveis:
bash
Copy
# Criar override do systemd para o cosmic-panel
mkdir -p ~/.config/systemd/user/cosmic-panel.service.d/

cat > ~/.config/systemd/user/cosmic-panel.service.d/override.conf << 'EOF'
[Service]
Environment="WAYLAND_DISPLAY=wayland-1"
Environment="LIBGL_ALWAYS_SOFTWARE=1"
Environment="WGPU_BACKEND=gl"
Environment="ICED_BACKEND=tiny-skia"
EOF

# Recarregar e reiniciar
systemctl --user daemon-reload
systemctl --user restart cosmic-panel

Solução 2: Fixar os favoritos da Dock

A dock pode ter caminhos "quebrados" nos favoritos. Vamos recriar:
bash
Copy
# Backup das configurações atuais
cp ~/.config/cosmic/com.system76.CosmicPanel/v1/favorites ~/.config/cosmic/com.system76.CosmicPanel/v1/favorites.bak

# Verificar o que está nos favoritos
cat ~/.config/cosmic/com.system76.CosmicPanel/v1/favorites
Se mostrar algo como cosmic-settings, cosmic-files, etc., a dock está usando nomes curtos. Precisamos que usem os wrappers que criamos.

Solução 3: Forçar a dock a usar caminhos absolutos

Remova os favoritos atuais e adicione novamente pelo menu (que está funcionando):
  1. Clique direito no ícone da dock que não funciona → Remover
  2. Abra o app pelo menu (Super)
  3. Clique direito no ícone que aparece na dock → Fixar na dock
Ou manualmente, edite os favoritos:
bash
Copy
# Editar favoritos para usar caminhos absolutos dos wrappers
cat > ~/.config/cosmic/com.system76.CosmicPanel/v1/favorites << EOF
$HOME/.local/bin/cosmic-files
$HOME/.local/bin/cosmic-settings
$HOME/.local/bin/cosmic-store
$HOME/.local/bin/cosmic-term
EOF
⚠️ Substitua pelos apps que você realmente tem fixados.

Solução 4: Script de correção completo

Vamos garantir que tudo está no lugar:
bash
Copy
#!/bin/bash
# Fix COSMIC Dock - executar no terminal

MYUID=$(id -u)
MYHOME=$HOME

# 1. Garantir que wrappers existem
for app in cosmic-settings cosmic-files cosmic-store cosmic-edit cosmic-term; do
    if [ ! -f "$MYHOME/.local/bin/$app" ]; then
        cat > "$MYHOME/.local/bin/$app" << EOF
#!/bin/bash
export WAYLAND_DISPLAY=wayland-1
export XDG_RUNTIME_DIR=/run/user/$MYUID
export LIBGL_ALWAYS_SOFTWARE=1
export WGPU_BACKEND=gl
export ICED_BACKEND=tiny-skia
/usr/bin/$app "\$@"
EOF
        chmod +x "$MYHOME/.local/bin/$app"
        echo "Criado: $app"
    fi
done

# 2. Garantir PATH no .bashrc (não afeta dock diretamente, mas útil)
if ! grep -q ".local/bin" ~/.bashrc; then
    echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
fi

# 3. Criar override do systemd para cosmic-panel
mkdir -p ~/.config/systemd/user/cosmic-panel.service.d/
cat > ~/.config/systemd/user/cosmic-panel.service.d/override.conf << EOF
[Service]
Environment="LIBGL_ALWAYS_SOFTWARE=1"
Environment="WGPU_BACKEND=gl"
Environment="ICED_BACKEND=tiny-skia"
EOF

# 4. Recarregar systemd
systemctl --user daemon-reload

# 5. Reiniciar panel
systemctl --user restart cosmic-panel

echo "Concluído! Teste clicar na dock agora."
Salve como fix-dock.sh, execute bash fix-dock.sh e teste.

Solução 5: Se nada funcionar - recriar favoritos via GUI

A forma mais confiável:
  1. Remova todos os ícones da dock (clique direito → Remover)
  2. Abra o terminal e execute:
    bash
    Copy
    export WAYLAND_DISPLAY=wayland-1
    export LIBGL_ALWAYS_SOFTWARE=1
    export WGPU_BACKEND=gl
    cosmic-files &
  3. Quando o ícone do Files aparecer na dock, clique direito → Fixar na dock
  4. Repita para Settings, Store, etc.
A dock vai "memorizar" o caminho correto do app em execução.

Me informe

  1. O que acontece quando clica na dock? Nada, ou aparece algum erro?
  2. Qual a saída de: cat ~/.config/cosmic/com.system76.CosmicPanel/v1/favorites
Com isso posso ajustar a solução exata.