修正 fim 出現 open /dev/fb0: Permission denied 錯誤
Fix Fim Open /dev/fb0: Permission denied error.
fim 是糊塗流浪貓於純文字終端機 tty 模式上必備的看圖軟體,但某次在設定好 Linux 環境後卻發現 fim 出現 open /dev/fb0: Permission denied 的錯誤訊息,這到底是怎麼回事呢?
原來 /dev/fb0 即為 Linux framebuffer (fbdev),是一套讓 Linux 顯示圖形的子系統。之所以會出現 Permission denied 錯誤是因為部份的 Linux 發行版會將 fim 與 /dev/fb0 的擁有者和群組指定給 root:root ,造成一般使用者無法執行。而解決方法也很簡單,只要將使用者、fim 與 /dev/fb0 的群組設為 video 並修改執行權限即可。翠近貧
將使用者、fim 與 /dev/fb0 的群組改為 video
usermod -a -G video YourUser
chgrp video /usr/bin/fim
chgrp video /dev/fb0
讓 video 群組擁有執行 fim 與讀寫 /dev/fb0 的權限
chmod 755 /usr/bin/fim
chmod 660 /dev/fb0
完成以上步驟後,fim 就能正常執行了。
重開機後 /dev/fb0
的權限被復原?
如果你遇上 /dev/fb0 群組與權限會在重新啟動後復原回預設值的問題,請修改 root 帳號的 crontab -e ,讓系統在開機時自動調整權限。
@reboot chgrp video /dev/fb0
@reboot chmod 660 /dev/fb0
檢視 fim 與 /dev/fb0 的狀態
ls -al /usr/bin/fim
-rwxr-xr-x root video
ls -al /dev/fb0
crw-rw---- root video
其他指令
nano /etc/passwd #檢視系統使用者狀態
nano /etc/group #檢視系統群組狀態
延伸閱讀
於 Debian 的 TTY 界面上閱讀、輸入中文和顯示圖片