XDG_RUNTIME_DIR
là một thư mục được dùng bởi rất nhiều phần mềm và dịch vụ ngầm trên Linux.
- Thư mục này gần như được thống nhất bởi những nhà phát triển để dùng làm thư mục tạm cho phần mềm của họ.
- Thường thì thư mục này sẽ nằm ở
/run/user/1000
.
- Nếu
XDG_RUNTIME_DIR
chưa được thiết lập đúng (chưa tồn tại, chưa thuộc quyền sở hữu của người dùng,...) thì một số phần mềm sẽ không thể khởi chạy, chẳng hạn như Pipewire, DBus,...
Cài đặt
- Ở đây mình sẽ dùng
pam_rundir
để tự động hóa hai việc sau:
- Tạo thư mục
XDG_RUNTIME_DIR
khi đăng nhập.
- Xóa thư mục
XDG_RUNTIME_DIR
khi đăng xuất.
- Vì thư mục này đôi lúc chứa những file bảo mật, việc xóa đi khi không dùng nữa là cần thiết!
- Dùng lệnh sau để cài đặt
pam_rundir
.
xbps-install -S pam_rundir
Thiết lập PAM
- Thêm dòng dưới đây vào cuối phần
session
của file /etc/pam.d/login
:
-session optional pam_rundir.so
- Lưu ý là có gạch đầu dòng nhé!
- File
/etc/pam.d/login
lúc này sẽ trông như sau:
#%PAM-1.0
auth required pam_securetty.so
auth requisite pam_nologin.so
auth include system-local-login
account include system-local-login
session include system-local-login
-session optional pam_rundir.so
Thành quả
- Sau khi khởi động lại máy và đăng nhập, hãy thử đến thư mục
XDG_RUNTIME_DIR
bằng lệnh sau:
- Nếu nó tồn tại thì bạn đã thành công rồi đấy!
- Vậy là Pipewire, DBus,... sẽ không than phiền với chúng ta nữa!
Nguồn
- Mình biết đến
pam_rundir
qua bình luận này trên Reddit.
- Bạn cũng có thể tìm hiểu thêm về
XDG_RUNTIME_DIR
trên Void Linux qua bài viết này