📂

Linuxの$HOME配下にあるDesktopやDocumentディレクトリを移動する方法

2022/09/08に公開

おはこんばんにちわ

デスクトップでLinux使ってるとhome配下にあるこいつらが私は邪魔なんですよね

$ ls -1
Desktop
Documents
Downloads
Music
Pictures
Public
Templates
Videos

というわけで今回はこのディレクトリのパスを変更する方法を備忘録に残します

方法1:一気に変更したい

一括で場所を変えるならこれが一番簡単です

この設定は~/.config/user-dirs.dirs にこんな感じで設定されているので

$ cat ~/.config/user-dirs.dirs 
XDG_DESKTOP_DIR="$HOME/Desktop"
XDG_DOWNLOAD_DIR="$HOME/Downloads"
XDG_TEMPLATES_DIR="$HOME/Templates"
XDG_PUBLICSHARE_DIR="$HOME/Public"
XDG_DOCUMENTS_DIR="$HOME/Documents"
XDG_MUSIC_DIR="$HOME/Music"
XDG_PICTURES_DIR="$HOME/Pictures"
XDG_VIDEOS_DIR="$HOME/Videos"

ここで指定されてるパスを変更すればOK
私の場合上記ディレクトリは全て$HOME配下に隠しディレクトリとして作成した.xdg_user_dirsというディレクトリに再配置しているのでこんな感じでsedすれば一発です

$ sed -i.org -e 's|HOME/|HOME/.xdg_user_dirs/|g' ~/.config/user-dirs.dirs

方法2:一部の設定のみ変えたい

この場合xdg-user-dirs-update --setコマンドでやるのが早いです

以下にmanを抜粋します

xdg-user-dirs-update [OPTION...] [--set NAME PATH...]
       --set NAME PATH
           Sets the XDG user dir with the given name.

           NAME should be one of the following:
               DESKTOP
               DOWNLOAD
               TEMPLATES
               PUBLICSHARE
               DOCUMENTS
               MUSIC
               PICTURES
               VIDEOS

私はPICTURES,MUSIC,VIDEOSディレクトリはDOCUMENTS配下にあるのが好きなので以下のようにします

$ xdg-user-dirs-update --set MUSIC ~/.xdg_user_dirs/Documents/Music
$ xdg-user-dirs-update --set PICTURES ~/.xdg_user_dirs/Documents/Pictures
$ xdg-user-dirs-update --set VIDEOS ~/.xdg_user_dirs/Documents/Videos

反映されてるか設定ファイルを確認してみると

$ grep Documents/ ~/.config/user-dirs.dirs
XDG_MUSIC_DIR="$HOME/.xdg_user_dirs/Documents/Music"
XDG_PICTURES_DIR="$HOME/.xdg_user_dirs/Documents/Pictures"
XDG_VIDEOS_DIR="$HOME/.xdg_user_dirs/Documents/Videos"

ちゃんと設定されてますね
ディレクトリツリーはこんな感じになります

$ tree -d .xdg_user_dirs
.xdg_user_dirs
├── Desktop
├── Documents
│   ├── Music
│   ├── Pictures
│   └── Videos
├── Downloads
├── Public
└── Templates

私が普段使ってるユーザディレクトリ構成がこれで完成しました
流用する方は自分がわかりやすいように適宜読み替えて実行してみてください
ちなみに作業するときは設定するより先にディレクトリを作り直しておいたほうがコマンドの補完効くので楽ですよ

それではよいLinuxライフを〜

しゃみしゃっきり〜

P.S.

久しぶりにLinux入れ直したから入れてるアプリも見直そうかなぁ。

Obsidian気になるなぁ。。

CherryTreeのデータインポート出来たら良いんだけどこっちにメモ貯めてるから移行がなぁ。。。

Discussion