Wo ist der Papierkorb in Ubuntu/Windows (WSL)?

Wo ist der Papierkorb in Ubuntu/Windows (WSL)?

ich benutzeUbuntu unter Win10, aber ich kann den Papierkorb nicht finden, auch wenn ich den Befehl verwende

mv ~/.Trash/foo ~/
mv: cannot stat '/home/man/.Trash/foo': No such file or directory

Meine Frage ist, wie ich in Ubuntu/Win10 den Papierkorb öffnen kann.

Antwort1

Müllbefindet sich in ~/.local/share/Trash, zumindest in Ubuntu. ~/.local– oder genauer gesagt, ~/.local/share– ist der Ort, an dem XDG-kompatible Programme Benutzerdaten (z. B. Schriftarten, E-Mail-Nachrichten) gemäß demXDG Base Directory-Spezifikation.

Ubuntu auf WSL bietet Ihnen nur eineTerminal und standardmäßig keine GUI.

Wenn eine Datei aus einem grafischen Dateimanager in Ubuntu wie Nautilus oder Thunar gelöscht wird, wird sie tatsächlich in verschoben . Dateien werden normalerweise über das Terminal ~/.local/share/Trashgelöscht , wasrmnichtbewegenin den Papierkorb.

Es gibt also keinen Papierkorbordner in WSL, es sei denn, Sie verwenden einen grafischen Linux-Dateimanager.

Antwort2

Mein WSL (Ubuntu-20.04) hatte keinen Ordner ~/.local/share/Trash. Ich bin den Anweisungen hier gefolgt (https://github.com/sindresorhus/trash) und installiert trashund trash-climit npm.

So etwas funktioniert jetzt!

[username@host]$ tldr trash
trash
A CLI for managing your trashcan / recycling bin.More information: https://github.com/andreafrancia/trash-cli.

 - Delete a file (send to trash):
   trash {{path/to/file}}

 - List files in trash:
   trash-list

 - Restore file from trash:
   trash-restore

 - Empty trash:
   trash-empty

 - Empty trash, keeping files trashed less than {{10}} days ago:
   trash-empty {{10}}

 - Remove all files named 'foo' from the trash:
   trash-rm foo

 - Remove all files with a given original location:
   trash-rm {{/absolute/path/to/file_or_directory}}

Tipp:https://github.com/tldr-pages/tldrist ein wirklich cooles Tool, um praktische Beispiele für Befehle zu erhalten, die in Handbuchseiten normalerweise nicht vorhanden sind.

Antwort3

Der Papierkorb in Ubuntu wird normalerweise von (Gnome IO) und GVfs (dem virtuellen Gnome-Dateisystem) bereitgestellt . Während Anwendungen wie Nautilus auf das GVfs zugreifen, um auf den Papierkorb zuzugreifen, kann dies auch direkt über die Befehlszeile auf WSL oder Ubuntu Server ohne GUI mithilfe des Befehlszeilentools gioerfolgen .gio

Estuterfordern jedoch eine D-Bus-Benutzersitzung, die unter WSL nicht automatisch ausgeführt wird, da (a) kein Systemd und (b) kein „Anmelden“-Konzept vorhanden ist, während dessen Benutzerdienste gestartet werden können.

Obwohl giound D-Bus beide standardmäßig in der WSL-Ubuntu-Distribution installiert sind, müssen Sie das gvfsPaket hinzufügen (zumindest unter WSL):

sudo apt install gvfs

Anschließend müssen Sie Ihre Shell mit D-Bus-Unterstützung starten. Dies kann auf verschiedene Arten erfolgen, aber die beste Option ist wahrscheinlich, Ihren WSL-Startbefehl (im Windows-Terminal oder anderswo) wie folgt zu ändern:

wsl ~ -e dbus-launch bash # Or your preferred shell

An diesem Punkt können Sie den Papierkorb über die WSL-Befehlszeile verwenden. Beispiel:

touch "a test file"
gio trash "a test file"
gio list Trash://
ls -lah ~/.local/share/Trash/files
gio trash --empty
gio list Trash://
ls -lah ~/.local/share/Trash/files

verwandte Informationen