Ubuntu更改用户名及相应的用户主目录

  某天突然感觉用了一阵子的用户名不爽,想换个名字新鲜新鲜,不过最好不要简单的编辑/etc/passwd和/etc/group了事,linux有相应的命令来做这些dirty things。最好不要在当前用户下操作,去recovery模式下做这件事比较妥当。
  1、修改用户名。
  usermod -l new_username -d /home/new_username -m old_username
用usermod命令来修改用户帐户相关信息,-l指定新的登录名称,-d指定新的主目录,如果同时指定-m选项则移动原来用户主目录的内容到新的用户住目录,最后指定原来的登录用户名。
  2、修改组名
  groupmod -n new_username old_username
groupmod命令用来修改组相关信息,-n用来指定新的组名,用原来的组名作为参数。这里修改的是与用户默认同名的组。
  3、更改用户的全称
  chfn -f new_fullname username
chfn命令来修改真实的用户名称和其他相关信息,-f指定新的用户全称,需要修改全称的用户名作为参数
  4、其他修改
更改用户主目录后,有些依赖于绝对路径的程序需要进行相应的修改。firefox profile路径下的extensions.ini里面的有依赖于用户名的绝对路径,修改之,用vim打开,然后:%s/old_username/new_username/g,然后:wq即可,prefs.js里面做同样的处理,firefox就可以正常使用了。其他的东西基本不用动就可以了。

Ubuntu 10.04 AMD64 mplayer 开启ATI卡硬解加速

昨晚在Ubuntu 10.04(Lucid Lynx) AMD64上面设置ATI Mobile Readon 3470硬解加速成功,mplayer播放高清视频时CPU占有率大大降低,大约只有原来的1/10。使用Ubuntu 9.10时也曾经试图硬解,但没成功。具体设置/安装方法记叙如下。

首先A卡要支持UVD(Unified Video Decoder),比较新的显卡应该都是支持到UVD2的,另外Lucid自带的ATI驱动在我的机器上不支持UVD功能。
cat /var/log/Xorg.0.log | grep UVD
如果输出如下字样
(II) fglrx(0): UVD2 feature is available
则表明支持驱动UVD特性
我的卡子在未安装ATI官方最新驱动ATI Catalyst Display Driver 10.4以前是不支持UVD2的。ATI驱动如何安装请参考ATI官方文档。

Continue reading “Ubuntu 10.04 AMD64 mplayer 开启ATI卡硬解加速”

Ubuntu播放视频定期黑屏问题

使用mplayer播放视频的时候,如果没有鼠标或键盘活动,大约10分钟后显示器会自动关闭,要动下鼠标才能继续观看,比较烦.我是没有设置屏保的,因为包gnome-screensaver已经卸载掉了.而且power manager里面已经把所有的电源选项都关闭了.竟然还会定期自动关闭LCD,真败了,无法容忍.

其实”罪魁祸首”就是X server,在/etc/X11/xorg.conf的ServerFlags节增加一下选项就可以了.
Section “ServerFlags”
Option “BlankTime” “0”
Option “StandbyTime” “0”
Option “SuspendTime” “0”
Option “OffTime” “0”
EndSection

该问题是由Blanktime控制的,这个值控制多长时间没有动作来启动屏保,默认时间是10分钟,设置为0就可以关闭该特性了.

其他三个选项依次是DPMS的待机、挂起、关闭超时值,也可以通过Monitor节的DPMS选项来关闭这三个特性

Section “Monitor”
Option “DPMS” “false”
EndSection

注意,BlankTime特性是不受DPMS特性控制的。

这四个参数的详细信息参见xorg配置文件手册

ubuntu 9.10(kamic koala) amd64编译安装firefox 3.6(namoroka)

  代号为”namoroka”的firefox 3.6正式发布了,性能提升不少。ubuntu估计要到下一个版本10.04(Lucid Lynx)才会更新到firefox 3.6,但愿不要这么晚。mozilla官方不提供amd64版本的安装包,那么下载源代码本地编译吧,这样性能还能更优。编译安装步骤如下,参考了官方build文档
  
  0. 准备编译环境和依赖
  sudo apt-get build-dep firefox
  sudo apt-get install libasound2-dev libcurl4-openssl-dev libnotify-dev libxt-dev libiw-dev mesa-common-dev autoconf2.13
Continue reading “ubuntu 9.10(kamic koala) amd64编译安装firefox 3.6(namoroka)”

ubuntu系统为ppp接口配置IPv6隧道(IPv6-in-IPv4 tunnel)

  linux最早的IPv6/IPng支持代码始于kernel 2.1.8,November 1996,也算是历史悠久了,而IPv6在1998年8月10日成为IETF的草案标准。
  Ubuntu 9.10默认是开启IPv6协议的,也就是说我们的主机是IPv4/IPv6双栈主机。可以通过检查/proc/net/if_inet6这个文件是否存在来确定内核是否支持IPv6,如果这个文件不存在,那么你的系统极有可能是通过可加载模块来支持IPv6的。虽然kernel是支持IPv6了,但现在的网络条件下,除了教育网直接支持IPv6外,其他网络用户还是无法直接访问IPv6网站的,也就是说我们的主机成了IPv6孤岛,只能通过IPv6-in-IPv4隧道协议来访问IPv6资源。
Continue reading “ubuntu系统为ppp接口配置IPv6隧道(IPv6-in-IPv4 tunnel)”

ubuntu配置ad hoc网络

  Network manager老难用了,忍无可忍之后将其remove,据说wicd不错,装上试了试也卸载掉了。其实linux的世界,还是cli用起来最顺手。
  
  配置一个ad hoc网络很简单的,在/etc/network/interfaces里面添加就可以了,我的设置如下:

auto wlan0
iface wlan0 inet static
wireless-mode ad-hoc
wireless-channel 11
wireless-essid Adhoc
address 10.42.43.1
netmask 255.255.255.0
gateway 10.42.43.1

  还是比较直白的,一般我们就一个无线网卡,没意外名字就是wlan0了,选个没有重叠的wifi信道11,设置一下IP、掩码、网关就好了。

ubuntu 9.10 删除link-local 路由表项

route -n 时你总能看到这样一条路由

Destination Gateway Genmask Flags Metric Ref Use Iface
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0

由RFC3330 可知 169.254.0.0/16 为本地链路地址

“169.254.0.0/16 – This is the “link local” block. It is allocated for
communication between hosts on a single link. Hosts obtain these
addresses by auto-configuration, such as when a DHCP server may not
be found.”

当系统配置为使用动态地址,而找不到DHCP服务器时,系统会为本机设置一个169.254.X.X的地址。
这个路由表项是有zeroconf 协议Daemon 程序添加的,我们一般是用不到的

只是注释掉/etc/networks 里面的link-local 项是无法去掉该路由表项的,/etc/networks 与/etc/hosts
文件的作用差不多,是用来关联网络号(数字格式)和网络名(字符格式)的,注释掉该条目后,只是169.254.0.0
无法解析为网络名link-local了.

可以用以下命令来删除zeroconf 相关的程序包
sudo apt-get remove avahi-autoipd –purge
下次启动机器后这条路由就不会自动出现了.

ubunut pppoe拨号部分网站无法访问的原因及解决办法

  ubuntu 9.10(karmic koala)AMD64系统下,设置好ADSL PPPoE拨号后,出现一种情况,部分网站可以正常访问,而有些网站则没有响应,无法正常访问。比如google.cn是正常的,而sina.com.cn则无法访问。

  出现这个问题的原因是PPPoE默认设置的MTU1492字节有问题。MTU是链路层的一个特性,叫做最大传输单元(Maximum Transfer Unit)。如果网络层(IP层)要发送的数据比链路层的MTU还要大,那么IP层必须对数据进行分片(fragmentation)。PPPoE的MTU是一种逻辑MTU,因为PPPoE并没有一个实体的链路层存在。通常情况下以太网(ethernet)的MTU为1500字节,所以PPPoE设置其MTU为1492字节,加上PPPoE 8个字节的头部,刚好达到以太网的MTU,从而可以提高网络的利用率。但实际上很多ADSL接入方式的MTU并不是1500字节,比如我的ADSL链路使用traceroute实测的路径MTU(PMTU)是1492字节。那么这种情况下,PPPoE设置其MTU为1492就存在问题了,加上8个字节的PPPoE头部后,就超过了以太网的MTU大小。
Continue reading “ubunut pppoe拨号部分网站无法访问的原因及解决办法”

ubuntu 9.10 karmic koala 官方源

deb http://archive.ubuntu.com/ubuntu/ karmic main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ karmic-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ karmic-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ karmic-proposed main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ karmic-backports main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ karmic main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ karmic-security main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ karmic-updates main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ karmic-proposed main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ karmic-backports main restricted universe multiverse

ubuntu xterm终端字体发虚模糊的解决方法

  比较喜欢Courier New字体,但是在xterm里设置使用Courier New字体后,总是感觉文字显示有些模糊、发虚,文字边角一点儿也不锐利。但在.Xresources文件里设置各种Xft属性都不能解决问题,最后发现是反锯齿(anti-alias)造成到问题,修改/etc/fonts/conf.d/10-antialias.conf里面的antialias属性为false即可解决此问题。现在xterm里面显示的文字相当的清晰锐利,当然这样修改是全局性的,但是我还是很喜欢锐利的文字。

ubuntu 9.10 karmic 英文环境en_US.UTF-8 locale下安装ibus

ubuntu 9.10已经默认安装了ibus,我们只要再安装ibus拼音输入法就可以了
sudo apt-get install ibus-pinyin
然后运行ibus-setup把拼音输入法增加进来
在~/.profile里面增加以下语句
export XMODIFIERS=”@im=ibus”
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=ibus
ibus-daemon -d -x &
这样就可以了。

如果输入法状态条无法显示,可以删除掉~/.config/ibus目录然后logout,login试一下。

ubuntu系统HTC G1通过笔记本wifi ad hoc网络共享宽带上网

因为没有使用无线路由器,两台笔记本一直使用wifi的ad hoc模式网络互联,xp共享ubuntu的wifi上网。新入手黑色HTC G1,自然也想利用笔记本的ad hoc wifi网络共享上网,没必要再购置无线路由器。幸好G1支持wifi的ad hoc网络模式,拥有宽带的笔记本使用32bits ubuntu 9.04,记叙设置方法如下。

1、参考Connect G1 to Ad-hoc network SOLVED弄好G1端的wifi设置

2、因为我的ad hoc网络没有启用DHCP,笔记本ubuntu无线网卡wlan0的静态IP设置为10.42.43.1,mask为255.255.255.0,网关未设,所以设置G1的wifi也使用静态IP。G1的“wifi设置->高级”里面,这样设置,IP在一个网段即可,我设置为10.42.43.8,掩码为255.255.255.0,网关设置为ubuntu wlan0的IP,也就是10.42.43.1。可以根据个人情况自由选择私有网络地址。

3、默认设置下, ubuntu是不在多个接口间转发数据的,也就是没有开启路由功能,通过修改/etc/sysctrl.conf来打开IP转发功能。使net.ipv4.ip_forward=1就可以了,这是启用ipv4的转发功能,如果要启用ipv6的转发功能,使net.ipv6.conf.all.forwarding=1就可以了。这样ubuntu主机上来自ad hoc网络的请求就可以被路由到其他网络接口了。但是现在G1还不能访问internet,因为我们使用的是私有ip地址,是不能在公网上路由的,必须要进行NAT才可以。可以使用iptables来设置NAT规则,打开rc.local,在exit 0之前添加下面这几句:
iptables -F
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -s 10.42.43.0/24 -o ppp0 -j MASQUERADE

其中-s 10.42.43.0/24可以根据你使用的私有IP段和掩码位数来设置,-o ppp0根据你使用的上网宽带接口设置,我使用pppoe拨号,所以此处设置为ppp0。

ubuntu重启一下应该就可以了。

Ubuntu 9.04下安装Firefox 3.5正式版(Release)

让我们翘首企盼的firefox 3.5正式版(Release)于6月30日正式推出,但是Ubuntu社区却迟迟没有更新,至今已经有半月,官方源仍然毫无动静,难道是因为bug太多,要等到firefox 3.5.1再进行更新?不得而知了。

看来暂时只有自己动手,丰衣足食了。对于firefox的安装我不推荐使用非官方源,而是从Mozilla下载更新,3.5与以前的版本并存,这样当Ubuntu官方源更新的时候,可以顺利的更新到最新的官方firefox版本。

firefox 3.5的安装比较简单,从mozilla下载回来的文件名字为firefox-3.5.tar.bz2,遵循FHS(Filesystem Hierarchy Standard)的指导意见,firefox最好安装到/opt目录下面,用下面的命令直接把bz2包解压到/opt目录下就可以了。
tar jxvf firefox-3.5.tar.bz2 -C /opt
这样就算安装完成了,命令行运行/opt/firefox/firefox或者建一个桌面快捷方式都可以,记得一定要运行/opt/firefox目录下的firefox,而不是firefox-bin或run-mozilla.sh。
这样两个版本的firefox使用同一套profile,可以和平共处,至于暂时不兼容的插件(Extensions)hack一下吧。