Введение
Удалили ~/ с помощью rm -rf /home/myuser на Ubuntu — неприятная ситуация, но если все важное уже закоммичено в git, восстановить рабочее окружение вполне реально. Восстановление стандартной структуры домашнего каталога не обязательно требует создания нового пользователя и повторной настройки прав вне домашней папки.
Общая идея восстановления
Стандартная структура домашнего каталога на Ubuntu не содержит никакой «магии»: файлы по умолчанию находятся в /etc/skel. После копирования содержимого /etc/skel в нужный домашний каталог и корректировки владельца (chown) большинство приложений и GUI-оболочек будут работать как раньше. GUI-специальные папки (Desktop, Documents и т.д.) — это просто обычные каталоги, а их видимость в файловом менеджере определяется файлом конфигурации user-dirs.dirs.
Шаг 1 — копирование /etc/skel и права
Скопируйте все файлы из /etc/skel в домашний каталог пользователя. После копирования при необходимости выполните chown, чтобы установить правильного владельца и группу для файлов и директорий. Это восстановит базовые конфигурационные файлы и шаблоны, которые создаёт система для новых пользователей.
Пример команды для chown
— Если ваш пользователь называется myuser, команда будет выглядеть так:
sudo chown -R myuser:myuser /home/myuser
Шаг 2 — создание стандартных папок вручную
Если после копирования /etc/skel каких‑то папок не хватает, их можно создать вручную с помощью mkdir. Это простой и надёжный способ восстановить Desktop, Documents, Pictures и другие каталоги, не создавая нового пользователя. Достаточно создать нужные директории и установить владельца, если требуется.
Примеры команд
mkdir ~/Desktop
mkdir ~/Documents
mkdir ~/Pictures
# и т.д.
Файл ~/.config/user-dirs.dirs и видимость папок в GUI
То, что делает папки «специальными» в файловом менеджере, — их перечисление в ~/.config/user-dirs.dirs. Многие окружения автоматически создадут этот файл со стандартными путями, если он отсутствует. Пути в этом файле должны начинаться с / или буквально с $HOME/.
Пример содержимого ~/.config/user-dirs.dirs
# This file is written by xdg-user-dirs-update
XDG_DESKTOP_DIR=»$HOME/.local/share/Desktop»
XDG_DOCUMENTS_DIR=»$HOME/Dropbox»
XDG_DOWNLOAD_DIR=»$HOME/Downloads»
XDG_MUSIC_DIR=»$HOME/Music»
XDG_PICTURES_DIR=»$HOME/Dropbox/Pictures»
XDG_PUBLICSHARE_DIR=»$HOME/.local/share/Public»
XDG_TEMPLATES_DIR=»$HOME/.local/share/Templates»
XDG_VIDEOS_DIR=»$HOME/Videos»
В этом примере Desktop и Templates перемещены в ~/.local/share для уменьшения загромождения, но вы можете оставлять их непосредственно в $HOME, если предпочитаете.
Права и скрытые директории конфигурации
Стоит заранее создать несколько стандартных конфигурационных директорий, чтобы задать им корректные права (обычно 0700 — только для владельца). Хотя программы создадут эти каталоги по мере необходимости, предсоздание помогает избежать проблем с правами и владельцем.
Рекомендуемые команды для прав
mkdir -m 0700 ~/.config
mkdir -m 0700 ~/.cache
mkdir -m 0700 ~/.local
Итог
Восстановить стандартную структуру домашнего каталога на Ubuntu после rm -rf /home/myuser можно без создания нового пользователя: скопируйте /etc/skel, выполните chown при необходимости, создайте отсутствующие папки через mkdir и проверьте ~/.config/user-dirs.dirs. Это вернёт привычную структуру и видимость папок в GUI при минимальных усилиях.