by agate - Published: 2010-05-01 [10:49 下午] - Category: 开发环境
现在一直使用的是 windows 7 加上 ubuntu server 的系统配置. 这里记录一下一些安装配置的细节:
1. 安装 Guest Additions
先在菜单中选择安装 Guest Additions
$ sudo apt-get install dkms
$ cd /cdrom
$ sudo ./VBoxLinuxAdditions-amd64.run
2. 关机并且设置 nat 端口映射
打开 cmd 并且进入 virtualbox 的安装目录
PATH> VBoxManage setextradata "[你的虚拟机名字]" "VBoxInternal/Devices/[e1000]/0/LUN#0/Config/[自己定义名字(根据需要比如ssh/http)]/Protocol" [TCP 或者 UDP]
PATH> VBoxManage setextradata "[你的虚拟机名字]" "VBoxInternal/Devices/[e1000]/0/LUN#0/Config/[自己定义名字(根据需要比如ssh/http)]/GuestPort" [端口号]
PATH> VBoxManage setextradata "[你的虚拟机名字]" "VBoxInternal/Devices/[e1000]/0/LUN#0/Config/[自己定义名字(根据需要比如ssh/http)]/HostPort" [端口号]
(如果你使用 PCNet 网卡, 就把 e1000 改成 pcnet. e1000 适用于 Intel PRO/1000 网卡)
一般来说, 映射 ssh 的 22 端口, http 的 80 端口, 基本就够用了.
3. 设置共享目录
首先在 virtualbox 中设置好共享目录
然后编辑 ubuntu 中的 /etc/fstab 并且加入:
[共享目录名] [ubuntu下的目标目录] vboxsf defaults 0 0
virtualbox 提供了很好的文档 http://www.virtualbox.org/manual/
备注: 如果你使用原来的介质但是新建立了一个虚拟机的话, 会发现 ubuntu 找不到网卡了. 解决方法是:
$ sudo rm /etc/udev/rules.d/70-persistent-net.rules
$ sudo reboot
by agate - Published: 2010-05-01 [8:34 下午] - Category: 开发环境
安装如下的包:
$ sudo apt-get install build-essential gnustep gobjc gnustep-make libgnustep-base-dev gnustep-devel
建立一个 alias 在 .bashrc 中:
alias objcc='gcc `gnustep-config --objc-flags` -lgnustep-base'
这样只要:
$ objcc source_file_name
备注:
gnustep-config --objc-flags 用于 gcc 对于 objc 的参数
by agate - Published: 2010-04-11 [10:00 上午] - Category: 开发环境, 系统操作
这几天疲惫于在 ubuntu 和 windows 环境下的来回切换(虽然 ubuntu 已经让我对 linux 的桌面环境刮目相看了, 但是还是有诸多的不便...). 同时也在公司里头使用了多个月的 MAC OS X. 总体还是感觉:
* windows 是让我使用起来最舒服的系统
* linux 是让我开发最舒服的系统
* mac 是让我最赏心悦目的系统.
所以呢, 如果工作我会选择 linux (呵呵我是程序员呀). 如果平时上网生活我还是喜欢 windows (丰富的应用程序). 但是我不会选择 mac (软件没有 windows 多, 问题虽然比 linux 少得多, 但是碰到问题想要找解决方案也比 linux 难得多)
于是我又回到了 windows + linux 的时代. 但是人总是要进步的呀. 过去我老是傻乎乎地装一个 desktop version 的 ubuntu 虚拟机, 然后在虚拟机中操作 ubuntu. 卡得不行不说还浪费内存. 于是想到是不是可以直接只用 linux 的命令行, 就想在公司开发那样. 于是我查了一些文档, 找到了一种方式可以不启动图形化的 virtualbox 直接以 daemon 的方式启动的方法, 再装一个 ubuntu server version. 可以减小很多的内存使用. 方法就是在命令行中键入:
"c:\Program Files\Sun\VirtualBox\VBoxHeadless.exe" -s SERVER_NAME -v off
但是仅仅这样的话你还是会看到一个 cmd 的窗口. 如果你想让它就在背后安静地运行你还可以写一个 VB Script 来放到启动项里让 ubuntu server 跟你的电脑一起启动(linux 和 windows 合二为一咯)
' 创建一个文件叫做 start_server.vbs 内容如下
CreateObject("Wscript.Shell").run """C:\Program Files\Sun\VirtualBox\VBoxHeadless.exe"" -s SERVER_NAME -v off",0
当然更重要的是 virtualbox 还可以使用 shared folder 来共享文件.
至少目前这样的系统配置是让我感觉最舒服的, 开着迅雷电驴, 聊着QQ和MSN, 逛着淘宝, 和朋友视频, 想到点子了就开上 PuTTY 开发一下看看效果. 反正我一直是觉得程序员的生活是离不开写程序的即便是在最舒服的家里. 突然摆脱了系统的切换, 好惬意 :)
by agate - Published: 2009-11-17 [10:50 上午] - Category: 软件使用
$ sudo apt-get install python-mutagen
$ cd your-mp3-dir
$ find . -iname "*.mp3" -execdir mid3iconv -e GBK {} \;
by agate - Published: 2009-08-09 [9:51 上午] - Category: 软件使用
在 Ubuntu 下看不了 RMVB 的最重要的原因是因为没有 w32codecs 这个解码包.
我们的确可以使用 apt-get 看到它的确在控制范围中. 但是 ubuntu 官方的源中竟然没有包括这个东西. 所以直接使用 apt-get 是安装不上的. 网上流传的解决方法普遍都是给出一些源地址, 然后让我们加入 source.lst 中. 这里我推荐一个比较简单好记的方法, 使用 ubuntu-tweak, 在其第三方软件那里勾选 Medibuntu. 然后点击 Refresh 按钮, 等待更新结束.
最后你只需要在 Terminal 中输入:
$ sudo apt-get install w32codecs libdvdcss
其中 libdvdcss 装不装取决于看不看 DVD.
到此问题就解决了.
参考地址[link]
by agate - Published: 2009-08-08 [10:06 下午] - Category: 系统操作
本人所使用的笔记本 T400 搭载的是 ATI 3470 的显卡, 在 Ubuntu 8.10 的时代一直工作良好. 但是当使用了 Ubuntu 9.04 并装好 ATI 驱动之后, 每次开启 Compiz 的视觉特效总会让 UI 行为出现严重的延迟问题. 我每次都不得不放弃很多 UI 特效, 退而使用基本视觉效果.
今日在查阅资料的时候发现已经有人知道如何解决这个问题了. 原来这个是 ATI 显卡的通病. 据一篇文章的作者说, 是一个 xorg 的 Bug, 据说已经 patch 过了, 但是在 Ubuntu 9.04 发布的时候不知什么原因把这个给去掉了. 于是乎导致了这个问题.
解决方案:
9.04
# 添加认证:
$ sudo apt-key adv --recv-keys --keyserver keyserver.Ubuntu.com 0x643dc6bd56580ceb1ab4a9f63b22ab97af1cdfa9
#
# 修改/etc/apt/sources.list 加入以下源:
deb http://ppa.launchpad.net/ubuntu-x-swat/xserver-no-backfill/ubuntu jaunty main
deb-src http://ppa.launchpad.net/ubuntu-x-swat/xserver-no-backfill/ubuntu jaunty main
#
# 保存后运行:
$ sudo apt-get update
$ sudo apt-get upgrade
9.10
# 添加认证:
$ sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com DBDD06BF16E70E3E
#
# 修改/etc/apt/sources.list 加入以下源:
deb http://ppa.launchpad.net/launchpad-weyland/xserver-nobackfill/ubuntu karmic main
deb-src http://ppa.launchpad.net/launchpad-weyland/xserver-nobackfill/ubuntu karmic main
#
# 保存后运行:
$ sudo apt-get update
$ sudo apt-get upgrade
这样就搞定了.
或者自己下补丁打包安装:
下载xorg补丁地址
http://launchpadlibrarian.net/32728179/xserver-xorg-backclear.patch
编译xorg并打上补丁,然后安装
sudo apt-get build-dep xorg-server
apt-get source xorg-server
cd xorg-server-1.6.3
patch -p1 < /path/to/xserver-xorg-backclear.patch
debuild
cd ..
sudo dpkg --install xserver-xorg-core*.deb
资料引用自[link]
by agate - Published: 2009-07-25 [11:57 上午] - Category: 系统操作
自从上一篇文章说了如何启用 thinkpad 的红帽和中键之后我又无聊地 google 了一番, 找到了一个叫做 thinkwiki 的网站, 里头有很多有用的关于 thinkpad 的资料. 特别是安装 linux 的配置资料.
看到了一个脚本 (for ubuntu 9.04)
用于解决 thinkpad:
1. 红帽/中键
2. FN+F8 开关触摸板
3. fix 了一些电源方面的 bug
4. 映射了 FN 作为 Menu 键
我修改了一点, 添加了激活静音键的功能, 具体修改后代码如下:
#!/bin/sh
# Shell-script for postinstallation work on a T400 or another Thinkpad
# Scrolling with Trackpoint
echo '< ?xml version="1.0" encoding="UTF-8"?>
<match key="info.product" string="TPPS/2 IBM TrackPoint">
<merge key="input.x11_options.EmulateWheel" type="string">true</merge>
<merge key="input.x11_options.EmulateWheelButton" type="string">2</merge>
<merge key="input.x11_options.XAxisMapping" type="string">6 7</merge>
<merge key="input.x11_options.YAxisMapping" type="string">4 5</merge>
<merge key="input.x11_options.ZAxsisMapping" type="string">4 5</merge>
<merge key="input.x11_options.Emulate3Buttons" type="string">true</merge>
</match>' > /etc/hal/fdi/policy/mouse-wheel.fdi
# FN + F8 to switch trackpad on/off
echo '< ?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
<device>
<match key="input.x11_driver" string="synaptics">
<merge key="input.x11_options.SHMConfig" type="string">True</merge>
</match>
</device>
</deviceinfo>' > /etc/hal/fdi/policy/shmconfig.fdi
# recommended workaround for hard disk bug
sed -i 's/ENABLE_LAPTOP_MODE=false/ENABLE_LAPTOP_MODE=true/g' /etc/default/acpi-support
sed -i 's/BATT_HD_POWERMGMT=1/BATT_HD_POWERMGMT=200/g' /etc/laptop-mode/laptop-mode.conf
# Menu Key Workaround
sed -i 's|key\ <i151>\ \ \ {\ \ \ \ \ \ \[\ XF86WakeUp|key\ </i151><i151>\ \ {\ \ \ \ \ \ \[\ Menu\ \ \ \ \ \ |g' /usr/share/X11/xkb/symbols/inet
# Mute Key
cp /boot/grub/menu.lst /boot/grub/menu.lst.`date +%F`.bak
sed -i 's|kopt=root=UUID=.\{36\}\ ro$|&\ acpi_osi="Linux"|g' /boot/grub/menu.lst
update-grub
echo '==========================================='
echo 'After an reboot you certainly can use the features! To do so type "reboot"'
把这段代码复制到一个文件中 (比如 thinkpad-config), 然后在 terminal 中执行:
$ chmod 775 thinkpad-config
$ sudo ./thinkpad-config
最后重启就 ok 了.
原始脚本地址可以访问: URL
by agate - Published: 2009-07-25 [9:03 上午] - Category: 系统操作
编辑 /etc/hal/fdi/policy/mouse-wheel.fdi (大概默认没有, 自己建立一个)
填入如下内容:
<match key="info.product" string="TPPS/2 IBM TrackPoint">
<merge key="input.x11_options.EmulateWheel" type="string">true</merge>
<merge key="input.x11_options.EmulateWheelButton" type="string">2</merge>
<merge key="input.x11_options.YAxisMapping" type="string">4 5</merge>
<merge key="input.x11_options.XAxisMapping" type="string">6 7</merge>
<merge key="input.x11_options.Emulate3Buttons" type="string">true</merge>
<merge key="input.x11_options.EmulateWheelTimeout" type="string">200</merge>
</match>
重启机器就 ok 了.
by agate - Published: 2009-04-05 [9:36 上午] - Category: 开发环境
今天在新的 Ubuntu 上面安装 rails 的时候碰到了这样的问题:
`require_frameworks': no such file to load -- net/https (RuntimeError)
原来是缺少 libopenssl-ruby library:
解决方案:
$sudo apt-get install libopenssl-ruby
本文作为 Ubuntu下部署rbuy on rails开发环境 补充
by agate - Published: 2008-11-15 [9:03 上午] - Category: 系统操作
不知道大家有没有觉得在默认情况下, 我们的 Ubuntu 在出现警告音的时候不是像 windows 那样亲切地 "叮叮叮", 而是才用 PC 的蜂鸣器来大声地 "嘟嘟嘟". 特别是在我们使用 shell 不全, 或者 vim 在行首/尾时候也会出现这个愤恨的声音. google 了一下找到了解决方法.
1. 就是干脆把 x 环境和 shell 环境通通关闭声音.
方法就是编辑你的 ~/.bashrc 文件, 加入
xset b off
2. 如果你像我一样只是烦恼 shell 下开发烦人问题的话, 就只要把 gnome-terminal 的 profile 中的那个 "终端响铃" 去掉就好了!