Como posso fazer o desktop.ini funcionar em locais de rede?

3

Eu tenho um arquivo desktop.ini simples que aplica um ícone de pasta. Funciona muito bem em uma pasta local.

Eu gostaria que funcionasse em um local de rede, pois temos um disco rígido externo conectado à nossa rede. No entanto, o arquivo desktop.ini parece não ter efeito na rede.

O que estou fazendo de errado?

    
por Eric 07.06.2010 / 11:15

5 respostas

3

Por que isso acontece

O Windows não lerá o desktop.ini , a menos que seja um arquivo do sistema (aparentemente só funciona também, mas o arquivo do sistema significa que ele pode ficar oculto mesmo quando você define arquivos ocultos que não são do sistema visíveis).

Por que você aparentemente não consegue consertar

Em um compartilhamento Samba (implementação Unix do SMB / protocolo de compartilhamento de rede), às vezes, mesmo se você, por exemplo, for para propriedades e definir "somente leitura", ele será ignorado e não será definido. Isso ocorre porque o Samba não armazena essas permissões por padrão - o que parece ter um imposto de desempenho (provavelmente insignificante), pois as permissões são (AFAIK) definidas e lidas em fluxos alternativos como dados textuais (provavelmente não funcionariam se você estivesse compartilhando alguns FS rudimentares como FAT ).

Como corrigir isso

Primeiro, verifique se o Samba armazena permissões no estilo DOS (como "sistema"), adicionando essa linha à sua definição de compartilhamento:

store dos attributes = yes

Talvez você possa adicionar isso a [Global] , adicionei-o a um compartilhamento específico.

Além disso, algumas pessoas lhe dirão para editar o arquivo errado.

  • /usr/share/samba/smb.conf < = sem sentido
  • /etc/samba/smb.conf < = arquivo correto

Reinicie o Samba ( sudo service samba restart ) e, em seguida, faça uma verificação rápida para ver se você pode usar o Windows Explorer para tornar um arquivo somente para leitura, por exemplo, e se ele persistir.

Ok, agora você pode tornar o desktop.ini um arquivo de sistema / oculto. Para fazer isso, vá para a pasta onde está com o prompt de comando e use:

attrib +s +h desktop.ini

Opcionalmente também (se o seu ícone for relativo e armazenado na mesma pasta que o meu).

attrib +s +h folder.ico

Por último, você precisa marcar a pasta como somente leitura (não faz sentido e soa estúpido, então você sabe que é legítimo).

attrib +r .

De cursos, você pode (deve) escrever isto. Usando o bash do MSysGit, eu fiz isso no meu NAS inteiro:

find . -type f -iname desktop.ini | while read -r i; do
    echo "Processing \"$(basename "${i%/*}")\""
    attrib +s +h "$i"
    attrib +s +h "${i%/*}/folder.ico" # Optional, in case you have these.
    attrib +r "${i%/*}"
done
    
por 05.06.2016 / 07:32
3

Você precisa marcar a pasta como system ou readonly, para fazer o desktop.ini funcionar. readonly é melhor, pois as pastas do sistema são omitidas das pesquisas do explorador por padrão. attrib + r (nome da pasta)

    
por 26.05.2011 / 14:00
3

Leia este artigo link

IconFile

If you want to specify a custom icon for the folder, set this entry to the icon’s file name. The .ico file extension is preferred, but it is also possible to specify .bmp files, or .exe and .dll files that contain icons. If you use a relative path, the icon is available to people who view the folder over the network. You must also set the Icon Index entry.

Em mais palavras você terá que especificar um caminho relativo para o seu ícone

por exemplo, ./ hiddenfolder / mycoolicon.ico

Note que você pode precisar colocar dois (ou mais) pontos se o diretório da pasta .ico estiver fora do local do arquivo desktop.ini - experimente e atualize a janela do Windows / File Explorer.

Boa sorte

    
por 07.06.2010 / 11:24
2

O problema tem a ver com o host que contém a pasta. Algum dispositivo de armazenamento conectado à rede (NAS), como o DROBO por exemplo, rodar internamente no Linux e na rede SAMBA shell não respeita nem implementa corretamente o padrão atributos de arquivo do Windows (R, S, H, A, I).

Portanto, os caminhos relativos NÃO ajudarão se o arquivo desktop.ini não é lido em primeiro lugar !!!

Como o dispositivo host, RAID, NAS ou unidade não informar corretamente o bit "System" ou "Read only" que janelas espera acionar o processamento do arquivo desktop.ini, o arquivo nunca é lido e seu conteúdo não importa.

Ainda não encontrei solução para este problema.

    
por 16.12.2013 / 07:08
-1

Para informar corretamente o tipo de arquivo "System" ou "Read only", você precisa modificar o "smb.conf" no seu NAS. Na seção [Global], adicione a linha:

armazenar os atributos dos atributos = yes

Aproveite!

M2C

    
por 22.04.2016 / 19:34