Nội dung của bài viết nêu những vấn đề, thủ thuật khi sử dụng Arch Linux, mang tính chất ghi chép hơn là bài viết. Khi nào có thời gian mình sẽ sắp xếp và biên tập lại nội dung cho phù hợp.
Lỗi libdbusmenu
Khi cập nhật hệ thống, có thông báo thay thế gói libdbusmenu
bằng gói libdbusmenu-glib
tuy nhiên khi cài đặt bạn sẽ gặp thông báo lỗi tập tin đã có. Để khắc phục cần thêm --force
vào câu lệnh
# pacman -Su --force
Như vậy việc cập nhật có thể tiến hành bình thường, tuy nhiên do libdbusmenu
bị ghi đè và thay thế cưỡng bức cho nên bạn sẽ gặp lỗi sau trong Terminal
file owned by ‘libdbusmenu’ and ‘libdbusmenu-glib’
Xử lý nó cũng rất đơn giản:
# pacman -R libdbusmenu
Convert file ảnh với nền trong suốt (Convert images with transparent background)
$ convert -transparent white save-all.svg SaveAll.bmp
Lỗi ICE default IO error handler
Thực ra lỗi này không quá thường xuyên gặp, đôi khi nó xảy ra mà bạn không biết, trong log
bạn sẽ thấy thông báo:
ICE default IO error handler doing an exit(), pid = xxxx, errno = xxx
Nguyên nhân chính là tập tin ~/.ICEauthory
bị lỗi (kể cả trong thư mục /root
), bạn chỉ cần xóa nó đi để hệ thống tự tạo lại là được.
(Tôi thường dính lỗi này khi convert định dạng sách bằng Calibre)
Phần mềm mới cài được chọn làm mặc định cho định dạng tập tin thường dùng
Nhiều lúc sau khi cài phần mềm mới nó tự động thay thế các định dạng thường dùng với các phần mềm quen thuộc bởi nó, điều này gây ra khá nhiều khó chịu và bực mình vì từ giờ bạn phải mở bằng nhiều thao tác hơn. Để chuyển nó về mặc định thì phải chỉnh từng định dạng tập tin theo ý mình. Để giải quyết vấn đề có thể điều chỉnh bằng Gnome Control Center ở System > Details > Default Applications
đối với GNOME, MIME Type Editor tại Settings > MIME Type Editor
đối với XFCE… Tuy nhiên các điều chỉnh này vẫn mang tính thay đổi thuộc tính chứ không phải là thiết lập mặc định. Để thiết lập mặc định cần can thiệp vào tập tin cấu hình.
Formal path | Usually defined as | Usage |
---|---|---|
$XDG_CONFIG_HOME/$desktop-mimeapps.list | $HOME/.config/$desktop-mimeapps.list | user overrides, desktop-specific |
$XDG_CONFIG_HOME/mimeapps.list | $HOME/.config/mimeapps.list | user overrides |
$XDG_CONFIG_DIRS/$desktop-mimeapps.list | /etc/xdg/$desktop-mimeapps.list | sysadmin and vendor overrides, desktop-specific |
$XDG_CONFIG_DIRS/mimeapps.list | /etc/xdg/mimeapps.list | sysadmin and vendor overrides |
$XDG_DATA_HOME/applications/$desktop-mimeapps.list | $HOME/.local/share/applications/$desktop-mimeapps.list | for compatibility but now deprecated, desktop-specific |
$XDG_DATA_HOME/applications/mimeapps.list | $HOME/.local/share/applications/mimeapps.list | for compatibility but now deprecated |
$XDG_DATA_DIRS/applications/$desktop-mimeapps.list | /usr/local/share/applications/$desktop-mimeapps.list and /usr/share/applications/$desktop-mimeapps.list | distribution-provided defaults, desktop-specific |
$XDG_DATA_DIRS/applications/mimeapps.list | /usr/local/share/applications/mimeapps.list and /usr/share/applications/mimeapps.list | distribution-provided defaults |
Trong đó quan trọng và ảnh hưởng nhất là tập tin /usr/local/share/applications/mimeapps.list
và /usr/share/applications/mimeapps.list
Hiển thị thông tin hệ thống theo thời gian thực ở tty12
Systemd cho phép hiển thị (forward) thông tin hệ thống dmesg
theo thời gian thực tại một phiên làm việc riêng, điều này rất tiện vì có thể gỡ lỗi ngay mà không cần phải đọc file log.
Sửa tập tin /etc/systemd/journald.conf
ForwardToConsole=yes
TTYPath=/dev/tty12
MaxLevelConsole=info
sau đó khởi động lại dịch vụ
# systemctl restart systemd-journald
chuyển sang tty12
bằng ctrl + alt + F12
Khắc phục lỗi do tumbler tạo thumbnail các loại tập tin liên tục
Nếu không có nhu cầu xem thumbnail (thường thì mình dùng GThumb) trực tiếp trong các phần mềm quản lý tập tin như Nautilus, Thunar … thì có thể gỡ hẳn gói tumbler
cho nhẹ nợ.
# pacman -Rscn tumbler
nếu không có thể cấu hình các định dạng sẽ tạo thumbnail ở /etc/xdg/tumbler/tumbler.rc
như PDF, RAW, Video …
Nhận, gắn các thiết bị Android như các thiết bị lưu trữ
Các thiết bị Android mới sử dụng giao thức Media Transfer Protocol (thường dùng trong các máy nghe nhạc MP3) để gửi/nhận các tập tin. Mặc định thì Arch Linux không nhận biết được các thiết bị này khi cắm vào. Để nhận biết và tự động gắn các thiết bị Android 3+ như các thiết bị lưu trữ thông thường (ổ di động USB) cần cài thêm gói gvfs-mtp
và gvfs-gphoto2
Kiểm tra thời gian các dịch vụ khởi chạy khi bắt đầu boot hệ thống
systemd
cho phép chúng ta liệt kê danh sách các dịch vụ khởi chạy khi bắt đầu boot hệ thống theo danh sách từ cao đến thấp, với kết quả này ta có thể điều chỉnh, loại bỏ các dịch vụ không cần thiết hoặc yêu cầu nó chỉ chạy sau một dịch vụ nào đó nhằm giảm thời gian khởi động hệ thống xuống tối thiểu.
$ sudo systemd-analyze blame
Tổng thời gian khởi động hệ thống bao gồm nhân hệ điều hành và các dịch vụ bổ xung
$ sudo systemd-analyze
Lỗi không chuyển, tạo thùng rác khi xóa tập tin trên XFCE4
Khi xóa tập tin bằng nút Del thì gặp lỗi Unable to find or create trash directory
còn khi xóa bằng Shift + Del thì không bị do trên các phân vùng ổ cứng không có thư mục .Trash-$USER_ID
hoặc không được phân quyền đúng. Để khắc phục nó ta tạo các thư mục tương ứng trên từng phân vùng và gán quyền cho tài khoản người dùng.
$ mkdir -p /.Trash-$UID/{expunged,files,info}
$ chown -R $USER /.Trash-$UID
Khác biệt giữa PARTUUID và UUID
Cả 2 loại định danh này đều là một chỉ số riêng và duy nhất cho mỗi phân vùng của ổ đĩa trên hệ thống. Điểm khác biệt lớn nhất giữa 2 chỉ số này là PARTUUID chỉ có trên các ổ đĩa phân vùng theo định dạng GPT còn UUID dùng để định danh cho các định dạng của phân vùng như fat, ntfs, ext … Cái lợi lớn nhất khi sử dụng là PARTUUID không thay đổi ngay cả khi bạn format lại phân vùng đó (chia lại phân vùng sẽ thay đổi) trong khi UUID sẽ thay đổi nếu bạn chuyển định dạng hoặc format lại nó.
Lỗi FAILED (unknown public key 1EB2638FF56C0C53) khi build các gói
Lỗi này xảy ra khi build gói cower
, cụ thể
==> Verifying source file signatures with gpg...
cower-12.tar.gz ... FAILED (unknown public key 1EB2638FF56C0C53)
==> ERROR: One or more PGP signatures could not be verified!
Mặc dù lỗi này rất đơn giản nhưng khá nhiều người bối rối vì key này không có sẵn trong keyring nên có một số lệnh để đánh dấu nó là tin cậy đều không có tác dụng. Giải pháp là lấy key này về từ máy chủ chứa key trước;
$ gpg --recv-key <KEYID>
$ gpg --lsign <KEYID>
Tính năng phóng to cửa số trên XFCE4
Tính năng này rất hiếm khi sử dụng, thậm chí bản thân mình không biết (có thể là chưa đến lúc dùng), nó dễ xảy ra với trường hợp dùng chuột ngoài, giữ nút Alt và xoay nút Cuộn trang.
Mặc dù ít tác dụng nhưng nếu lỡ bấm nhầm thì rất khó chịu.
Sửa lỗi SSH key trên máy chủ bị thay đổi
Thông thường lần đầu tiên kết nối với máy chủ bằng SSH, bạn sẽ được hỏi thêm khóa (key) vào cơ sở dữ liệu để so sánh. Vì một lý do nào đó mà key này thay đổi nhưng hệ thống quản lý theo IP nên khi kết nối so sánh 2 khóa không trùng nhau nên sẽ bị báo lỗi:
Warning: the ECDSA host key for ‘NARGGA server’ differs from the key for the IP address ‘192.168.1.1’
Để khắc phục lỗi này cần xóa lưu tạm của khóa này trong CSDL và thêm lại là xong
$ ssh-keygen -R 192.168.1.1;
Cập nhật
- 2014.07.09: Bổ xung tùy chỉnh các phần mềm mở định dạng mặc định
- 2014.07.11: Khắc phục lỗi của Tumbler
- 2014.07.24: Nhận, gắn các thiết bị Android như các thiết bị lưu trữ
- 2014.09.04: Kiểm tra thời gian các dịch vụ khởi chạy khi bắt đầu boot hệ thống
- 2014.10.10: Tạo thư mục thùng rác để chuyển các tập tin chờ xóa hẳn
- 2015.03.10: Khác biệt giữa PARTUUID và UUID