terça-feira, 26 de maio de 2009

Slackware com GSB e acentos em pendrives e compartilhamentos via samba no nautilus

O Slackware não suporta oficialmente o GNOME, porém diversos projetos o empacotam. Depois de utilizar por um bom tempo o Dropline GNOME hoje utilizo o GSB por uma questão de filosofia, ele é menos intrusivo ao sistema.

Uma coisa que estava me chateando era toda vez que eu inseria um pendrive os acentos apareciam com aquele losângulo preto e um ponto de interrogação e ainda com o texto (Codificação Inváliada) no final do nome do arquivo. Com certeza deveria ter alguma solução para isso, e num belo dia resolvi procurar... bingo, basta acrescentar a string "utf8" na chave "/system/storage/default_options/vfat/mount_options". Com isto os acentos devem aparecer corretamente, visto que a maioria possui sistema de arquivos FAT32 e têm seu arquivos gravados através do WindowsXP que usa esta codificação. Talvez exista alguma mágica para detectar a codificação dos arquivos, mas por enquanto estou bastante satisfeito com esta solução.

Outro problema que tive foi em relação a acessar um compartilhar através do Nautilus com o samba, através do protocolo SMB. Depois que solucionei o problema achei bem legal como o samba trata com codificações, ele possui uma codificação para o servidor e outra para o cliente e usa esta informação para converter os nomes de arquivos de uma máquina para outra. No meu caso, a minha máquina servidora um WindowsXP utiliza a codificação utf8, já no meu netbook com Slack, utilizo iso8895-1 e quando acessava o compartilhamento o samba por default tem a configuração da codificação do cliente em utf8, então trazia o nome do arquivo neste formato, que na hora de ser exibido em iso8895-1 dava problema. Para resolver o problema basta editar o arquivo /etc/samba/smb.conf e adicionar a seguinte linha:

unix charset = iso8895-1

Pronto, agora os caracteres com acento aparecem perfeitamente... bem, se tiver algum nome de arquivo em Japonês no meu compartilhamento eu vou ter problemas, mas isso não é algo que vou me preocupar agora :)