Resolvido: Spotify só abre em fullscreen no Ubuntu

Parece ser um problema comum o Spotify “travar” no modo fullscreen no Ubuntu, sem dar acesso a taskbar.

Felizmente arrumar este problema do fullscreen é simples. Você deve:

  1. Encontrar o arquivo de configuração / preferências do Spotify
  2. Remover as referências as configurações de janela

Como encontrar meu arquivo de configuração do Spotify

Primeiro feche o Spotify. Depois vamos encontrar seu arquivo de configuração. Alguns fóruns que encontrei falam que o arquivo fica em ~/.config/spotify/prefs

No Ubuntu 18 o Spotify usa o snap, então para encontrar todos os arquivos de configuração fiz o seguinte:

find ~/snap/spotify/ -name prefs

Isto irá listar todos os arquivos “prefs” dentro do diretório. Para facilitar, você pode usar o seu editor e já abrir todos no editor:

find ~/snap/spotify/ -name prefs -execdir vscode {} \;

Agora é só procurar pelas ocorrências de app.window e remover estas linhas dos arquivos de configuração. Feito isso, salve os arquivos e pronto, seu spotify não abrirá mais no modo fullscreen.

Você também pode optar por apagar os arquivos de configuração – mas isto vai forçar um novo login quando você reiniciar o Spotify (e possivelmente perder qualquer outra configuração local que esteja salva nos arquivos de preferências).

Como verificar o número de variáveis passadas em um shellscript?

O que mais me traz satisfação como desenvolvedor é gerar automatização de tarefas. Desenvolver ferramentas e rotinas que possibilitem que minha equipe ou meus clientes trabalhem menos para alcançar determinado objetivo.

Desde gerar backups até configurar um ambiente de desenvolvimento ou produção. Hoje fui implementar umas alterações no shellscript para criar um site no apache e criar as pastas no meu ambiente local, mas para isso precisava verificar o número de variáveis passadas pelo usuário antes de continuar a execução do script. 

Como verificar o número de variáveis passadas no shellscript?

Para ter o número de variáveis que um shelscript recebeu é bem simples:

$#

Sabendo disso basta você fazer uma comparação para validar se o número de variáveis é o que você esperava. No exemplo abaixo o script finaliza a execução se o usuário não passar pelo menos 2 variáveis:

if [ $# -lt 2 ]; then
echo 'Necessário 2 variáveis'
exit 0
fi

Uma dica do Bruno para tornar o código mais legível é fazer a comparação da seguinte forma, e também usar exit 1 para quando der erro, fica assim:

if [[ $# < 2 ]] then
echo 'Necessário 2 variáveis'
exit 1
fi

Usar o exit 1 quando algo der errado no seu script impede que outros scripts sejam executados na sequência se o seu deu errado, por exemplo:

seu_script.sh && seu_segundo_script.sh

Se algum erro acontecer no seu_script o seu_segundo_script não será executado.

Agora consigo validar a execução de qualquer shellscript e evitar erros. Se voc6e tem uma maneira diferente de fazer esta verificação deixe nos comentários!

Como abrir sublime no terminal (Linux) sem usar a sessão do terminal

Um dos problemas que eu não enfrentava com o Sublime no MacOS mas achava um pouco chato no Subline no Linux (Ubuntu) é que quando eu abria o Sublime pelo terminal no Ubuntu o aplicativo ficava atrelado a sessão do terminal – não posso usar o termina e se eu fechar o terminal, encerra o Sublime.

Como abrir o Sublime no terminal sem usar a sessão do terminal

O primeiro passo é remover o link simbólico em /user/bin/sublime (ou outro nome que você tenha utilizado para chamar o aplicativo pelo terminal).

rm /usr/bin/sublime

Feito isso vamos criar um pequeno shell que vai abrir o sublime sem estar atrelado a sessão do terminal:

Crie o arquivi /usr/bin/sublime com o seguinte conteúdo:

#!/bin/sh
nohup /opt/Sublime\ Text\ 2/sublime_text $1 >/dev/null 2>&1 &

Se necessário substitua /opt/Sublime\ Text\ 2/sublime_text pelo caminho onde você fez a instalação do Sublime Text.

Salve o arquivo e agora é só abrir o terminal e digitar “sublime” que você terá o aplicativo aberto e pode usar ou fechar o terminal, sem afetar o programa.

Montando um novo volume na Amazon EC2

Uso o serviço de cloud (EC2) da Amazon, mas ainda não utilizo do S3 para storage de arquivos então tive a necessidade de montar um volume maior na minha instância, para armazenamento de backups e outros arquivos do servidor.

Criando um volume no EC2

O primeiro passo é montar um volume no painel de controle do AWS – monte o volume sem resgatar nenhuma snapshot.

Feito isso, agora precisamos deixar este volume criado acessível pela sua instância, para isso será necessário “interligar” o volume criado a sua intância.

  1.  Clique com o botão direito no volume criado
  2. Clique em attach volume
  3. Selecione a sua instância

Agora o novo volume estará visível para a sua instância, precisamos montar o volume. Primeiro vamos ver o nome do volume montado, ainda no painel selecione o volume que você criou.

No meu caso o nome é sdg (veja o campo Attachment das informações do volume (este nome é escolhido quando você seleciona a qual instância este volume irá ser atrelado, no passo anterior deste tutorial).


Montando o volume no EC2 (Linux)

Primeiro crie um FS para o volume criado:

sudo mkfs.ext3 /dev/sdg

Agora é só montar no local que você achar melhor, para este exemplo vou montar em /meuvolume

Abra o arquivo /etc/fstab:

sudo vim /etc/fstab

E adicione a seguinte linha:

/dev/sdg /meuvolume ext3 noatime 0 0

Agora crie o diretório meuvolume e monte:

mkdir /meuvolume
mount /meuvolume

Pronto, agora você tem um novo volume montado e acessível na sua instância!

Aprendi fazendo depois de ler aqui.

Listando o tamanho de pastas no Ubuntu

Estava fazendo monitoramento do servidor do nosso servidor (EC2 da Amazon) e como ainda não configurei o logrotate para todos logs é necessário tomar cuidado para evitar logs monstros, a melhor forma de fazer isso é monitorar os tamanhos de diretórios.

Ver o tamanho de diretórios por terminal no Ubuntu

O primeiro passo é navegar até a pasta "pai" dos diretórios que você quer verificar o tamanho, chegando neste diretório digite o seguinte comando:

du -kh --max-depth=1

O resultado do comando vai listar todas as subpastas com o tamanho formatado em K, M, ou G, por exemplo:

0 ./lock
17M ./log
48K ./run
4.0K ./opt
860K ./backups
199M ./cache
206M ./lib
28K ./spool
4.0K ./crash
2.2G ./www
4.0K ./mail
4.0K ./tmp
4.0K ./local
2.6G .

Com essas informações consigo monitorar quando algum log está crescendo muito rapidamente.

Ps: não deixem de utilizar o logrotate ou algum outro sistema automatizado para limpeza / manutenção de logs!