Remover o ícone do painel do Skype em 12.04 sem remover sni-qt
- Se você não se importa com
sni-qt
, remover o ícone é tão simples quanto fazerapt-get remove sni-qt sni-qt:i386
- A instalação do deb fornecido pelo Skype não é uma solução; tudo o que a versão do Ubuntu faz é agrupar o mesmo deb do Skype, mas tornar
sni-qt
uma dependência para ativar o ícone.
Um simples ajuste de arquivo ou instalação / remoção de um pacote não o fará, precisamos descer e sujar aqui.
-
sni-qt
é fornecido por essas bibliotecas compartilhadas:/usr/lib/i386-linux-gnu/qt4/plugins/systemtrayicon/libsni-qt.so /usr/lib/x86_64-linux-gnu/qt4/plugins/systemtrayicon/libsni-qt.so
-
Uma maneira garantida de remover o ícone do Skype , deixando
sni-qt
disponível para outros aplicativos para usar é impedir que o Skype carregue essas bibliotecas compartilhadas. -
Isso pode ser feito de duas maneiras: de um modo civilizado e de um hacker de força bruta. maneira.
1. Altamente recomendado: Use apparmor para evitar que o Skype carregue sni-qt
-
O AppArmor é uma estrutura de segurança incorporada no kernel do Linux que define as permissões para o que um programa pode e não pode acessar. Está habilitado por padrão no Ubuntu.
-
Um perfil de exemplo para o Skype está incluído nos perfis de proteção de aplicativos; Modifiquei SOMENTE para atingir nosso objetivo de desativar o ícone do painel - outros recursos de segurança foram removidos.
-
Você pode ver o perfil colado aqui . As linhas 24-25 são os bits que importam para nós.
AVISO : Este perfil NÃO fornece nenhum outro tipo de segurança - o Skype funcionará normalmente. Por favor, veja aqui para um perfil mais completo do Skype AppArmor que você pode usar se quiser proteger ainda mais o Skype.
Como instalar
-
Para instalar, saia do Skype se estiver em execução e abra um terminal com
Ctrl-Alt-T
, e digite / cole o abaixo para instalar o perfil colado em seus perfis apparmor diretório. (Você também pode colá-lo manualmente em/etc/apparmor.d/usr.bin.skype
, se desejar)sudo wget -O/etc/apparmor.d/usr.bin.skype http://pastebin.com/raw.php?i=2EYME5eF
-
Em seguida, digite
sudo /etc/init.d/apparmor reload
para recarregar todos os perfis, incluindo o skype um que acabamos de adicionar. Aguarde alguns segundos ... -
Para verificar se o perfil foi ativado, digite
sudo apparmor_status | egrep "mode|skype"
- O resultado deve mostrar algo como o abaixo: O Skype deve estar após o "modo de execução", mas antes de qualquer um dos outros modos:
21 profiles are in enforce mode. /usr/bin/skype 22 profiles are in complain mode.
- O resultado deve mostrar algo como o abaixo: O Skype deve estar após o "modo de execução", mas antes de qualquer um dos outros modos:
-
Inicie o Skype e espere que o ícone do painel desapareça!
Como posso adicionar esse comportamento ao meu próprio perfil do Skype AppArmor?
-
Basta adicionar essas linhas perto do início do perfil, logo após as inclusões (elas simplesmente impedem o Skype de ler / carregar as bibliotecas sni-qt)
deny /usr/lib/i386-linux-gnu/qt4/plugins/systemtrayicon/libsni-qt.so r, deny /usr/lib/x86_64-linux-gnu/qt4/plugins/systemtrayicon/libsni-qt.so r,
2. Não recomendado: um feio bash hack
- Eu só darei pseudocódigo para evitar que o novo caia em armadilhas, mas um script simples que faz o seguinte é suficiente para desabilitar o ícone do painel também:
- Remova as permissões de leitura do libsni-qt.so apropriado para o uid (usuário) que o skype está sendo executado.
- Inicie o Skype, aguarde um pouco para que ele seja carregado.
- (O ícone desapareceu porque o Skype não conseguiu carregar o sni-qt.)
- Restaurar permissões para libsni-qt.so.