Não é possível remover o arquivo da lixeira que foi colocado lá como raiz

25

Eu sei sobre os perigos do uso do acesso root, por favor, abandone as palestras. Tento ser cuidadoso e duplamente a partir de agora.

Eu estava usando o navegador de arquivos com acesso root para alterar algumas permissões de arquivo. Durante o processo, apaguei alguns arquivos (devo dizer que os expulso no lixo). Mal sabia eu que os arquivos iriam para o lixo como root e agora não consigo removê-los porque não tenho permissão para lê-los, mas não sei como acessá-los para alterar as permissões porque não sabe como entrar no lixo como raiz. Tudo o que recebo é uma mensagem dizendo:

Este local não pôde ser exibido.

Desculpe, não foi possível exibir todo o conteúdo de trash:///: Operação não suportada

Eu procurei ao redor para tentar encontrar posts sobre isso, mas só encontrei informações desatualizadas sobre um arquivo oculto no diretório raiz. Isso parece não se aplicar mais, por isso estou preso a um arquivo na lixeira que não consigo remover e não consigo acessar.

Estou usando o Ubuntu 14.04 64bit em um laptop ASUS x401a.

brincadeira
fonte
1
que tal relançar o nautilus como root e esvaziar o lixo? Caso contrário, você deve ser capaz de acessar a sua pasta de lixo através do terminal viasudo cd /home/your_username/.local/share/Trash
Aserre
não usamos "resolvido" nos títulos aqui; em vez disso, marque a caixa de seleção verde na resposta que funcionou para você.
Mateo
Nesse caso, a resposta estava no comentário da Ploutox. Não consigo marcar. O que eu posso fazer?
jeop
@jeop quando alguém, especialmente alguém com representante suficiente para conhecer melhor, comenta em vez de respostas, eu mesmo colo como resposta. você sempre pode criar um wiki da comunidade se não quiser o representante dele. veja meta.askubuntu.com/questions/6706/convert-comment-as-answer
djeikyb

Respostas:

26

Você precisará de acesso root ao lixo para poder excluir esses arquivos - a maneira mais fácil de fazer isso em um sentido temporário é abrir uma janela do terminal alt+ ctrl+ te inserir o comando

gksudo nautilus /home/your_username/.local/share/Trash

Isso executará o gerenciador de arquivos com permissões de superusuário e você poderá esvaziar a lixeira a partir daqui. Exclua o arquivo de propriedade raiz.

Quando terminar, lembre-se de fechar o programa!

Charles Green
fonte
1
Obrigado pela sua resposta, mas tentei isso e tudo o que recebo é a mensagem que afirmei acima: "Este local não pôde ser exibido. Desculpe, não foi possível exibir todo o conteúdo de" lixeira: /// ": operação não suportada . "
jeop
K - então você pode tentar usar o sudo como um tipo de shell interativo sudo -ie iniciar o nautilus a partir da linha de comando ...
Charles Green
15

Se você deseja excluir todo o conteúdo da lixeira, você pode usar o sudo e remover o diretório inteiro. Lembre-se de refazer o diretório para que não cause problemas. O código é:

sudo rm -rf /home/User_Name/.local/share/Trash && mkdir /home/User_Name/.local/share/Trash

Isso fará tudo com uma entrada no terminal.

Michael McCann
fonte
9

Eu pessoalmente uso muito o lixo-cli . Eu o uso como uma alternativa rmpara estar seguro (por exemplo trash -r my-folder).

sudo apt install trash-cli

Uma vez instalado, você pode fazer

sudo trash-empty
Prinzhorn
fonte
4

execute isso no seu cmd

sudo rm -rf ~/.local/share/Trash/*
MALLAPU DHEERAJ REDDY
fonte
2
Você deve explicar o que isso faz exatamente - e talvez alterar o comando para não excluir tudo no lixo.
guntbert
1

Use o terminal! 1eleven (arraste e solte)

  • Abra um terminal com Ctrl+ Alt+ t.
  • Para se apropriar dos arquivos novamente e continuar no gerenciador de arquivos, digite o comando sudo chown -R $USER:$USERe verifique se há um espaço no final.
  • Agora arraste o arquivo ou a pasta afetada do gerenciador de arquivos para o terminal.

    • O resultado deve ficar assim:

      sudo chown -R $USER:$USER '/home/$USER/.local/share/Trash/files/some_file.txt'
      

      ou isto:

      sudo chown -R $USER:$USER '/media/$USER/path to external drive/.Trash-1000/files/sömё fïle thät may have fancy encodings, ſpaces & stu𝖋f.txt'
      

      onde $USERsignifica seu nome de usuário no nome do caminho.

  • Execute o comando pressionando Entere provavelmente atualize a visualização F5no gerenciador de arquivos.

  • Conforme observado por David Foerster, você pode substituir os apóstrofos por aspas, para ter expansão de shell variável.

Usar o terminal com arquivos não é tão difícil quando arrastar e soltar funciona, é? ^^ É um recurso muito útil quando você sabe como usá-lo.

Como alternativa, você pode excluir arquivos únicos com rm. A exclusão de pastas pode ser feita rmdirpara pastas vazias ou rm -rpara excluir arquivos e pastas recursivamente. Enquanto o método de arrastar e soltar deve funcionar em quase todos os casos e escapar adequadamente de tudo, você ainda deve ter cuidado ao usar comandos de exclusão. Possuir os arquivos e excluí-los no gerenciador de arquivos é a solução mais segura.

Relacionado

LiveWireBT
fonte
@DavidFoerster Sua edição geralmente estava correta, mas os apóstrofos são gerados automaticamente arrastando o arquivo para o terminal. Substituí-los nos exemplos causará confusão.
LiveWireBT
Vou sugerir outra edição, que explica o significado de $USERentão, porque também não aparecerá assim no terminal.
David Foerster
-1

Se você midnight commanderinstalou, pode abri-lo usando sudo:

sudo mc 

vamos para:

~/.local/share/Trash/

e use alt + F6para excluir os arquivos que você deseja.

GM
fonte