Ao tentar gerenciar a lixeira a partir de volumes NTFS montados, acabei lendo a referência do FreeDesktop.org .
Vasculhando e fazendo alguns testes, percebi que o Ubuntu / Gnome não segue as especificações 100%. Aqui está o porquê:
Para não-partições, ele sempre usa
<driveroot>/.Trash-<uid>
, Ele nunca usou<driveroot>/.Trash/<uid>
, mesmo quando eu o criei com antecedência. Enquanto isso funciona, é irritante: se eu tiver 15 usuários, terminarei com 15/.Trash-xxx
pastas na minha unidade, enquanto a outra abordagem ainda forneceria uma única pasta (com 15 subpastas). Essa "poluição" em minhas unidades é muito desagradável. E as especificações dizem " Se um$topdir/.Trash
diretório estiver ausente, um$topdir/.Trash-$uid
diretório deve ser usado ". Bem, está presente, então por que nunca o usa?lixo raiz não funciona, pelo menos não fora da caixa. Abra o nautilus como root e clique no lixo; isso dá um erro. Tente excluir qualquer arquivo, ele diz "não pode ser movido para a lixeira". Ok, eu sei que isso pode ser corrigido através da criação
/root/.local/share
. Mas as especificações dizem " Um diretório" lixo doméstico "deve ser criado automaticamente para qualquer novo usuário. Se este diretório é necessário para uma operação de lixeira, mas não existe, a implementação deve criá-lo automaticamente, sem avisos ou atrasos. ". Por que o erro então? Erro?Por que devo alterar as
/etc/fstab
entradas dos volumes montados, adicionando opções como uid e guid, se os volumes já estiverem montados como RW para todos?
Estes são apenas alguns exemplos de desvio do padrão. Então, a questão é:
"Se o Ubuntu não adere 100% às especificações, COMO exatamente o lixo funciona? ONDE posso encontrar uma referência técnica para a implementação do lixo pelo Ubuntu?"
A propósito: se o Ubuntu seguir as especificações, diga-me o que estou fazendo de errado, especialmente com relação à questão /.Trash-<uid>
vs./.Trash/<uid>
Obrigado!
EDITAR:
Mais algumas informações:
Se um determinado fs não tiver suporte para o sticky bit (VFAT, NTFS), provavelmente também não terá permissões (pelo menos o VFAT certamente não tem). Então, o que impede um usuário de limpar a
/
restauração de outros./Trash-xxx
? Se alguém puder ler / escrever seu próprio Lixo, poderá fazer o mesmo por toda a unidade, incluindo os lixos de outros, correto? Ou o Gnome tem algum tipo de proteção "extra" em./Trash-xxx
pastas no FS VFAT / NTFS?Se o Linux puder "emular" as permissões de arquivo na montagem do NTFS, editando as
/fstab
opções uid e gid, ele também poderá "emular" a parte complicada? Eu realmente preferiria usar o/.Trash/xxx
formato ...Para o problema da raiz: para a partição /, posso usar o lixo como root e ele vai para
/root/.local/share/Trash
. Mas se eu clicar no Nautilus "Lixeira" (como root), recebo um erro. Não é? Portanto, os arquivos estão no lixo corretamente, mas não consigo acessá-lo. Tudo o que posso fazer é limpá-los manualmente (excluindo arquivos/root/.local/share/Trash
), mas a restauração seria muito complicada (abrir arquivos de informações e mover manualmente, etc.).Para não-partições (ou pelo menos para VFAT / NTFS), não posso nem usar o lixo como raiz: ele não cria uma
./Trash-0
pasta, simplesmente diz "Não é possível lixeira, deseja excluir permanentemente?" Por quê?Sobre o fstab: eu o uso para uma montagem permanente para minhas partições NTFS. Eu tenho vários e, se não forem "pré-montados", eles realmente confundem a área de trabalho e / ou o Nautilus. Eu prefiro tê-lo pré-montado, integrado no meu sistema de arquivos, em montagens como
/data
,/windows/xp
,/windows/vista
e assim por diante, e licença/media
e seu "montar / desmontar a" flexibilidade apenas para unidades verdadeiramente removíveis.
Portanto, se o Ubuntu / Gnome realmente segue as especificações, existe alguma maneira de corrigir os problemas de raiz e "emular" o bit persistente para (pelo menos) minhas partições fixas NTFS corrigidas?
fonte
Um pouco tarde, mas se alguém estiver interessado:, tive o mesmo problema, mas, por conselhos, baixei o Dolphin. Então eu corri o Dolphin
sudo dolphin
no terminal.Agora, clicar com o botão direito do mouse na lata de lixo e selecionar Esvaziar lata de lixo limpa os arquivos em vez de produzir um erro.
Isso realmente não está relacionado à sua pergunta, mas é simplesmente uma solução alternativa.
fonte