01 October 2014

关于折腾,一句话:不做死,就不会死。

缘起


凡事皆有原因,由因生果。年轻人,喜欢折腾,喜欢新的事物。

正文


前天

公司的设计人员嫌自己的机器卡,时常出现系统僵死的情况,主要是内存不足的原因,解决方案很简单,加个内存条就可以了。由于之前有过买了内存条装上后,主板不支持的现象,所以,在买内存条之前,先查查机器主板是否支持。实现查了一下百度Dell XPS 8500主板相关的信息,很混乱,有说支持8G的,有说支持16G的,不一而是。最后,Jason打电话给Dell官方,得知,主板最高可支持32G。

在买内存条时,我鼓动Jason买金士顿的内存条,不为别的,就因为听说其兼容性好,虽然我自己从来没买过金士顿的内存条。然后,Jason就买了个8G的骇客神条。上午定的货,下午就送到了,京东的送货速度还真是超级快。

晚上,设计人员走后,将其机器拆开,把8G的内存条装上去,然后开机,看系统信息。咋一看,这是个很简单的行为,实际存在一个很不方面的因素,设计人员用的是Wacom画板,是个相难用的东西,至少对我而言,相当的不习惯鼠标在桌面上飘逸的感觉。好不容易打开了系统信息,一看,傻眼了。安装物理内存16G,可用8G。想想可能是,内存不兼容,或者其他的什么原因,从别人闲置中拆了根4G的内存条试试,识别12G,可用8G。

世界充满了限制,以及现象很不符合理论。比如,64位系统安装16G,怎么可能8G可用,这不科学。为了寻找自己的科学,不断的、反复的尝试,无非就是拆了插,插了重启,反复了几次,尝试了各种方法,最后,放弃了。懊悔浪费这么长时间尝试这么无聊的事情。Jason说,明天退货。

在别人都走了后,我看着这根明天将要退货的神条,萌生了想要将它插到自己的机器上的想法。这个想法,有如滴在渲纸上的水墨,迅速扩展了。犹豫了一下,关机拆箱插条。打开机箱发现,小机箱中,结构相当的紧凑,内存条插槽位置相当的隐蔽。

费了九牛二虎之力,终于将内存条插了进去,开机之后,傻眼了,一直定格在Ubuntu logo的上,长达十几分钟。起初觉得可能是,内存条不兼容的问题。将内存换回去后,情况依旧。我在想,会不会,插槽进灰了。清理了一下灰,花去几十分钟。插了后试试了试,居然正常了。很高兴了把后盖啊,螺丝啊之类都拧上去,又试了试,又TMD挂了,欺骗我的感情啊,不带这样的。

不知不觉,到了10点半,要回去睡觉了,不能再拖了,明天继续搞,大不了重装系统,临走之前最后一试,无意中,按了Ctrl+Alt+F1,结果进入了tty的界面,一阵窃喜,看来系统是确实启动了的 。使用free命令查看了一下内存,显示为8G,得知内存也没有问题的,只是进不去图形界面。

只等明天来,重装系统了。

昨天

早上过来后,想重装系统,发现没有U盘。突然,想到新买的闲置的Dell机器,插电自动安装Ubuntu。从市场部的办公室把机器抱过来,装系统,升级系统,备份原本数据。总而言之,就是各种复制粘贴等待。其中,将安装完成的操作系统又12.04升级到14.04时,等了相当长的时间,2006个文件的下载,解压,安装。直到中午吃饭时,才完成了。

期间,没有电脑用,就是各种不干事。被Jason说,如果不拆机装内存条,不久什么事都没有了。确实是的,如果当时没有手贱,啥事都没有了。。。

复制数据的时候,特别感谢Ubuntu的文件管理器Nautilus支持以图形的方式,以sftp协议从其他服务器上拉数据,非常的方便。

恢复完系统后,试用了一番,发现自己对新的机器和系统有一些不太满意的地方。

  1. CPU居然是Intel双核的, 原先用的机器是i3的
  2. 网络链接不稳定,经常掉线,掉线就要取插拔网线,看了网上的介绍说因为系统内核和老式的Intel CPU架构不兼容的问题
  3. vim中不支持主选择区复制

不管怎样,系统总算是恢复过来了。骇客神条原本就不是为我买的,又装到美工的机器上了。折腾内存条和系统时,获得了一些认识:

  • Windows 64位的系统,如果主板支持最大内存为32GB的话,那么家庭普通版支持可用内存为8G, 高级版为16G, 旗舰版为32G。通过操作系统设置可用内存,不得佩服MS营销手法,厉害,真厉害。万幸的是,我早已抛弃Windows,不至于遇到这么奇葩的问题
  • ssh生成的公钥和密钥在换机器之后,单纯的复制文件到另一个机器的.ssh目录下,是可以直接用的,ssh-keygen的-C选项似乎没有什么太大的作用。细想一下,挺恐怖的,钥匙被盗了,服务器也就不安全了。

虽然很不满意,但是,装系统恢复数据让我非常疲惫,无论是精神上,还是肉体上,都像被蹂躏了一般。关机看书去了,看了一会儿书,发现书也看不进去了。刚好,国庆提前放假,早早的回去休息了。

今天

今天是国庆节的第一天,早上8点多就醒了,9点半左右到公司学习看书。之所以不再宿舍看书,主要觉得凳子和桌子的高度不满意。

看了一天关于《Ajax on Rails》后,下午5点多的时候,打看电脑,打开终端,打开VIM,那个vim中不支持主选择区复制的问题,我又回到了起点上,看看能不能将原先的机器上的系统恢复过来,仔细想想不就是不能进入图形界面吗,找到问题解决了不久行了。百度了一下,看到别人也曾遇到过这样的问题,大概是Lightdm的问题,一直闪烁在Logo界面,说明不能进去unity-greeter界面,查看查看其生成的日志就可以了。

先是折腾/etc/lightdm/目录的下的文件,添加lightdm.conf文件,然后关机重启,依然停留在logo界面。

然后,locate lightdm找到所有相关的文件,一个目录一个目录的进去修改,改完后再重启(sudo reboot),大体上查看了这样的一些目录:

/etc/lightdm
/etc/init/lightdm.conf
/etc/init.d/lightdm
/usr/lib/lightdm
/usr/share/lightdm
/usr/share/lightdm/lightdm.conf.d
/var/lib/lightdm
/var/lib/lightdm-data
/var/log/lightdm

大概重启了十几次,每次都满怀希望的重启,每次都定格在Logo界面,每次都扫兴而归,无功而返。时间和精力花费掉了,却没有任何收获。所幸的是我用ssh连接到原先的机器上的,稍微轻松点。不过重启十几次,确实相当的心烦意乱。为此,还将.Xauthority都删除了。

最后,在参考http://www.2cto.com/os/201305/213215.htmlhttp://forum.ubuntu.org.cn/viewtopic.php?t=463303时,尝试了安装了gdm,并使用sudo dpkg-reconfigure gdm,启动gdm登录系统,居然神奇般的登录进去了,看来果然是Lightdm出了问题。仔细想想,用gdm也没什么不好的,重要的是不愿意折腾Lightdm了。

关于Lightdm的问题的处理方法(他人总结):

  • 配置文件-/etc/lightdm/lightdm.conf, 参考样例:

    [SeatDefaults]
    user-session=ubuntu
    greeter-session=unity-greeter
    greeter-show-manual-login=true
    allow-guest=false
    
  • 方案一: 如果是lightdm的登陆器问题,而且是不知名的问题,可以直接使用gdm登陆器来登陆

    gdm的安装和使用: sudo apt-get install gdm && sudo dpkg-reconfig gdm

  • 方案二: 在登陆界面使用ctrl+alt+F1等进入命令行模式后,查看home目录下的 .Xauthority文件的属性,ower和group是否是你的用户名。否则修改后重启 sudo chown yourusername:yourusername .Xauthority
  • 方案三:如果你在使用ubuntu时候有修改过桌面壁纸,可以使用方案一中的方式,首先登陆到gnome环境,然后修改壁纸为系统自带的壁纸,最后重启后使用lightdm来登陆
  • 方案四:如果非以上已知错误,在命令行下查看lightdm的错误信息,然后重新网上google。lightdm的log位置:

sudo less /var/log/lightdm/x-0-greeter.log
sudo less /var/log/lightdm/lightdm.log

附录

Lightdm的日志的错误:

** (lightdm-gtk-greeter:1585): WARNING **: Failed to load background: Failed to open file '/usr/share/backgrounds/warty-final-ubuntu.png': No such file or directory
(lightdm-gtk-greeter:1585): Gtk-CRITICAL **: gtk_container_foreach: assertion 'GTK_IS_CONTAINER (container)' failed
(lightdm-gtk-greeter:1585): Gtk-CRITICAL **: gtk_container_foreach: assertion 'GTK_IS_CONTAINER (container)' failed
(lightdm-gtk-greeter:1585): Gtk-CRITICAL **: gtk_container_foreach: assertion 'GTK_IS_CONTAINER (container)' failed
** (lightdm-gtk-greeter:1585): WARNING **: Failed to load user image: Failed to open file '/home/xiajian/.face': No such file or directory

后记


博客写的很乱,尤其是分了好几天写的,那就更乱了。写着写着,就偏离主线了,找不到当初想要写的那种感觉了。

关于折腾,就一句: 不作死,就不会死。偏偏我就爱折腾,哈哈,找死的人生。

coffeescript的地址: http://coffeescript.org/

https://github.com/rails/coffee-rails




傲娇的使用Disqus