现在的位置: 首页 > 综合 > 正文

ubutnu命令行软件

2013年11月04日 ⁄ 综合 ⁄ 共 4266字 ⁄ 字号 评论关闭

很多人可能都喜欢用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 進位表示:

pixel 640x480 800x600 1024x768 1280x1024
text 80x30 100x37 128x48 160x64
256 0x301 0x303 0x305 0x307
32k 0x310 0x313 0x316 0x319
64k 0x311 0x314 0x317 0x31A
16M 0x312 0x315 0x318 0x31B

10 進位表示:

 

pixel 640x480 800x600 1024x768 1280x1024
text 80x30 100x37 128x48 160x64
256 769 771 773 775
32k 784 787 790 793
64k 785 788 791 794
16M 786 789 792

795

抱歉!评论已关闭.