Tornando o cliente oficial do Discord multiusuário em GNU/Linux

Publicado por Luís Fernando C. Cavalheiro em 04/07/2019

[ Hits: 1.909 ]

Blog: https://github.com/lcavalheiro/

 


Tornando o cliente oficial do Discord multiusuário em GNU/Linux



Seres humanos, sub-seres e escravos da tecnologia da informação, aqui começa mais uma Dica do Dino® trazendo para vocês informações de um bom senso jamais visto em um país em que juízes são aplaudidos por agirem à margem da lei. Hoje falaremos do Discord, um cliente de mensagens instantâneas descentralizado muito usado por gamers devido à leveza e à qualidade de seu canal de áudio. Na data em que escrevo, recém convenci minha esposa a usar GNU/Linux, e eis que nos deparamos com uma coisa estranha: se ela deixasse o usuário dela logado no computador com o Discord aberto, eu não conseguia abrir o Discord no meu usuário. Pesquisando um bocado, encontrei uma solução simples de doer pro problema.

Sem mais delongas, vamos ao trabalho?

Mas por que, em nome de Satã, isso acontece?

Quando você loga na sua conta pelo cliente oficial do Discord, o filho de uma pessoa de bem cria o arquivo /tmp/discord.sock, que serve como soquete de comunicações pro áudio e tal e como trava para evitar que múltiplas instâncias do programa sejam abertas simultaneamente. Pois bem, acontece que o nome do arquivo é hardcoded no código JavaScript usado pelo cliente oficial do Discord, ou seja, nem com muita propina pode ser alterado.

Mas Dino®, você tem a solução para o problema?

Claro, pessoa de pouca luz, pois do contrário eu não estaria escrevendo esta Dica do Dino®. Ela envolve uma modificação no arquivo discord.desktop, que é o lançador do programa. Essa modificação é necessária para levar o Discord a usar outro diretório que não o /tmp como diretório para arquivos temporários.

Pois bem... esse arquivo estará em algum lugar do seu computador, dependendo de como você o tenha instalado. Usuários do openSUSE Tumbleweed, por exemplo, encontram o Discord nos repositórios oficiais da distribuição. Bem, uma vez encontrado o arquivo você verá nele um texto parecido com esse aqui:

[Desktop Entry]
Name=Discord
StartupWMClass=discord
Comment=All-in-one voice and text chat for gamers that's free, secure, and works on both your desktop and phone.
GenericName=Internet Messenger
Exec=/usr/bin/discord
Icon=discord
Type=Application
Categories=Network;InstantMessaging;
X-Desktop-File-Install-Version=0.23

Esse é o arquivo no openSUSE. Bem, faça esta mudancinha aqui:

[Desktop Entry]
Name=Discord
StartupWMClass=discord
Comment=All-in-one voice and text chat for gamers that's free, secure, and works on both your desktop and phone.
GenericName=Internet Messenger
Exec=/bin/bash -c "mkdir -p /tmp/${USER} ; TMPDIR=/tmp/${USER} /usr/bin/discord"
Icon=discord
Type=Application
Categories=Network;InstantMessaging;
X-Desktop-File-Install-Version=0.23

Como vocês podem ver, a linha começando por Exec recebeu um mini shell script cujo propósito é assegurar que dentro de /tmp haverá um diretório para cada usuário e que o Discord use esse diretório como seu diretório de arquivos temporários. Para garantir que atualizações não alterem isso, rode:

# chattr +i /caminho/para/discord.desktop

E para finalizar, rode:

$ update-desktop-database /diretório/onde/discord.desktop/está # o comando precisa ser executado como root caso o discord.desktop esteja em /usr/share/applications

E com isso problema resolvido!

Conclusão

E é isso, gente, com isso eu encerro esta Dica do Dino® desejando para todos vocês GET RED SLACK OR DIE, BEACHES!!!

Outras dicas deste autor

Instalação do Spotify no openSUSE Leap 15

Usando pendrive como SWAP temporária em seu GNU/Linux

Google Chrome Stable no CentOS 6.x

Abrindo aplicativos gráficos como usuário root logado como usuário comum sem kdesudo ou gksudo

Repositórios oficiais do Skype para GNU/Linux

Leitura recomendada

Entenda o sistema de pontos do VOL

Ativando o numlock na inicializaçao do X - Debian

IV Encontro Nacional Linuxchix Brasil - Descobridor dos sete mares

Funtoo Wallpapers

FFmpeg: criando dois ou mais arquivos de saída simultaneamente

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts