很多人可能都喜欢用chmod 755、644、777等赋予权限,其实还是用chmod ugo+rwx这样的形式比较直观。 u--拥有者 g--同组用户 o--其它用户 r--可读 w--可写 x--可执行 s--可执行(跟x差不多,我还不清楚两者的区别)
曾经为了在控制台下显示中文而装了 fbterm,弄了 framebuffer,但结果很奇怪——root 用户和另一个临时建的用户 temp 都能正常使用,但唯独我自己总用的那个帐户运行 fbterm 时显示 can’t open framebuffer device,害我每次需要显示中文时都得先以 temp 登录,然后用 su 切换用户。
今天尝试在控制台下放视频,mplayer 却没有显示视频。仔细看输出信息,发现对 /dev/fb0 没有权限。 ls -l 一下,发现这个文件属于 video 组。随即把自己加到了 video 组,然后就正常了!
一直想不通,为什么当初折腾 fbterm 时, root 和 temp 都在 video 组里,唯独自己例外?
sudo gpasswd -a ff videosudo gpasswd -a 用户名 video
删除组的成员还是使用这个命令,不过使用的开关是 -d 而不是 -a: gpasswd -d userid mygroup 也可以通过直接编辑 /etc/group 文件来对组进行修改。
sudo apt-get install hwinfo
安装完成后 sudo hwinfo --framebuffer 结果就可以看到: Mode 0x0300: 640x400 (+640), 8 bits Mode 0x0301: 640x480 (+640), 8 bits Mode 0x0303: 800x600 (+800), 8 bits Mode 0x0305: 1024x768 (+1024), 8 bits Mode 0x0307: 1280x1024 (+1280), 8 bits Mode 0x030e: 320x200 (+640), 16 bits Mode 0x030f: 320x200 (+1280), 24 bits Mode 0x0311: 640x480 (+1280), 16 bits Mode 0x0312: 640x480 (+2560), 24 bits Mode 0x0314: 800x600 (+1600), 16 bits Mode 0x0315: 800x600 (+3200), 24 bits Mode 0x0317: 1024x768 (+2048), 16 bits Mode 0x0318: 1024x768 (+4096), 24 bits Mode 0x031a: 1280x1024 (+2560), 16 bits Mode 0x031b: 1280x1024 (+5120), 24 bits
切换屏幕时很慢,不仅仅是Ctrl-Alt-Fn间的切换很慢fbterm、zhcon的进入、退出也很慢。而且,切到任何一个控制 台后显示 uvesafb: mode switch failed (eax=0x4f02, err=1),/var/log里 kern.log记录如下
代码: Jun 9 23:03:52 lilydjwg-desktop kernel: [ 63.501794] uvesafb: mode switch failed (eax=0x135, err=0) Jun 9 23:03:52 lilydjwg-desktop kernel: [ 63.501799] detected fb_set_par error, error code: -22 (重复数次) 问题基本解决,更改了参数: 代码: kernel /boot/vmlinuz-2.6.32-22-generic root=UUID=951dd0ca-32f5-43f6-9e54-ed422274fc74 ro nomodeset video=uvesafb:scroll=ypan vga=791 使用以上的方法会导致关机的plymouth花屏,针对这个问题,我们应该不采取以上的解决方法,而使用以下的办法:此文同样适用于VMWare中的ubuntu10.04 1.可以解决的问题: (1)安装驱动后开机和关机画面花屏,分辨率低; (2)开机画面直接出现,一闪而过,错过点点进度过程。(这个我原来幼稚地认为是10.04的开机速度太快,进度条来不及显示呢。呵呵) 2.解决 方案:uvesafb 替代 vesafb(具体什么意思我也不知道) 3.所需包: (1)v86d(uvesafb需要) (2)hwinfo(查看framebuffer) 4.步骤 (1)安装驱动: 方法一,Nvidia官网下载最新驱动,但是得先屏蔽掉nouveau,而且安装后会出现Nvidia巨大的Logo,我没有用 这种方法。 方法二,System-->Administration-->Hardware Drivers,我选的是那个Recommended。 (2)安装所需包: sudo apt-get install v86d hwinfo (3)查看framebuffer sudo hwinfo --framebuffer 我的显示器分辨率是1280x800的所以我需要的是:1280x800-24 (4)修改grub文件 sudo gedit /etc/default/grub 修改GRUB_CMDLINE_LINUX_DEFAULT=""引号中的内容为quiet splash nomodeset video=uvesafb:mode_option=1280x800-24,mtrr=3,scroll=ywrap (分辨率自行设置) 修改#GRUB_GFXMODE=****x****为GRUB_GFXMODE=****x**** (****x****为你的分辨率,中间的x是英文的"x") (5)修改initramfs: sudo gedit /etc/initramfs-tools/modules 添加以下文字: uvesafb mode_option=1280x800-24 mtrr=3 scroll=ywrap (6)强制使用Framebuffer: echo FRAMEBUFFER=y | sudo tee /etc/initramfs-tools/conf.d/splash (7)更新grub和initramfs: sudo update-grub2 sudo update-initramfs -u (8)重启 (重启时的退出ubuntu画面还是低分辨率的,不要急,待重启后进入ubuntu时的分辨率已经是你设定的了)
而且开机的文字也和以前(9.10)的不同。
在登录时,启动界面的分辨率太低同样很不爽。解决办法如下:
1. 安装 v86d 和 hwinfo 包:
sudo apt-get install v86d hwinfo
2. 查看自己显卡支持的分辨率:
sudo hwinfo --framebuffer
02: None 00.0: 11001 VESA Framebuffer [Created at bios.464] Unique ID: rdCR.QOJHFkjgnM2 Hardware Class: framebuffer Model: "(C) 1988-2005, ATI Technologies Inc. M92" Vendor: "(C) 1988-2005, ATI Technologies Inc. " Device: "M92" SubVendor: "ATI ATOMBIOS" SubDevice: Revision: "01.00" Memory Size: 16 MB Memory Range: 0x80000000-0x80ffffff (rw) Mode 0x0300: 640x400 (+640), 8 bits Mode 0x0301: 640x480 (+640), 8 bits ...................................................... Mode 0x03ef: 1366x768 (+2752), 16 bits Mode 0x03f0: 1366x768 (+5504), 24 bits Config Status: cfg=new, avail=yes, need=no, active=unknown
我选用最高分辨率: 1366x768 (+5504), 24 bits
3. 修改 /etc/default/grub 文件,使用 uvesafb 的 framebuffer 来启动:
sudo gedit /etc/default/grub
将 GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash” 更改为:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset video=uvesafb:mode_option=1366x768-24,mtrr=3,scroll=ywrap"
4. 修改 /etc/initramfs-tools/modules 文件:
sudo gedit /etc/initramfs-tools/modules
添加语句:
uvesafb mode_option=1366x768-24 mtrr=3 scroll=ywrap
5. 运行下面的命令,启用 framebuffer:
echo FRAMEBUFFER=y | sudo tee /etc/initramfs-tools/conf .d /splash
6. 运行下面的命令,更新 grub 配置文件:
sudo update-grub
s udo update-initramfs -u
7. 重启。
Q1:[input] can't change kernel keymap table, all shortcuts will NOT work, see SECURITY NOTES section of man page for solution.
A1:chmod u+s /usr/bin/fbterm
16 進位表示:
pixel640x480800x6001024x7681280x1024text80x30100x37128x48160x642560x3010x3030x3050x30732k0x3100x3130x3160x31964k0x3110x3140x3170x31A16M0x3120x3150x3180x31B10 進位表示:
pixel640x480800x6001024x7681280x1024text80x30100x37128x48160x6425676977177377532k78478779079364k78578879179416M786789792
795
