Ubuntu 11.10 启动美化
一、安装burg系统引导器
1.从PPA源安装burgs
sudo add-apt-repository ppa:n-muench/burg sudo apt-get update sudo apt-get install burg burg-themes
安装burg引导
sudo burg-install "(hd0)"
或者
sudo burg-install /dev/sda
更新burg配置文件
sudo update-burg
2.隐藏启动提示“grub loading”
burg启动时会提示“grub loading”,是在是太碍眼,要去掉这个稍微有点麻烦,需要重新编译burg。
需要修改的源代码详见:
http://code.google.com/p/burg/issues/detail?id=29&q=grub%20loading
可使用
sudo apt-get source burg
来获取burg源代码。注意代码中可能有bug……
3.修复plymouth主题
burg和plymouth主题兼容不是很好,需要使用以下方法修复:
二、配置plymouth主题
配置plymouth方法较为简单,主要替换相应的默认plymouth主题文件即可。
sudo update-alternatives --config default.plymouth sudo update-initramfs -u
三、ligtm配置
自ubuntu11.10中,ligtm配置在/etc/lightdm文件夹下,主要修改unity-greeter.conf,里面内容非常简单,看着说明修改就行了,主要是修改背景和logo文件。
ssh代理配置
首先需要ssh一枚,免费收费皆可。
1.创建ssh代理守护进程
ssh -N -v username@sshserver.com -D 127.0.0.1:7070
之后就可以在本机的7070端口使用stocks代理来XXXX了。
2.配置密钥认证
默认情况下,ssh代理在每次登录的时候都需要使用密码认证,每次输入密码十分繁琐,可以使用rsa密钥认证方法来解决这个问题。 首先在本机生成密钥:
ssh-keygen -t rsa
直接按三次回车,不必理会其中出现的密码输入提示。生成密钥一般在~/.ssh目录下面。 将生成的密钥上传到服务器:
cd ~/.ssh ssh-copy-id -i id_rsa.pub username@sshserver.com
最后,为ssh-agent进程添加密钥,否则无法通过认证
ssh-add
3.使用plink指定密码登录
如果服务器不支持rsa认证的时候,可以使用plink指定密码登录ssh。
sudo apt-get install putty-tools plink -N -v username@hostip -D 127.0.0.1:7070 -pw password
解决XBMC运行时提示 undefined symbol
安装了最新的XBMC后,发现无法播放任何视频文件。表现为点击视频文件后没有反应,或者提示无法播放视频。查看在~/.xbmc目录下的log文件发现问题出在这一部分:
Unable to load /usr/lib/xbmc/system/players/dvdplayer/avformat-52-i486-linux.so, reason: /usr/lib/xbmc/system/players/dvdplayer/avformat-52-i486-linux.so: undefined symbol: BZ2_bzDecompressInit
即avformat-52-i486-linux.so动态链接库无法找到符号BZ2_bzDecompressInit,而BZ2_bzDecompressInit是另外一个动态链接库libbz2.so中的一个函数。熟悉gcc的人可能就明白了,这是由于xbmc无法加载到libbz2.so库引起的,所以我们需要手动指定xbmc加载这个动态库。 首先找到本机中libbz2.so的位置(可能需要安装相应的软件包:libbz2)。在我的Ubuntu11.10中,libbz2.so位于/lib目录下面,其文件名为libbz2.so.1.0.4,因而在xbmc运行前使用export LD_PRELOAD=”/lib/libbz2.so.1.0.4″指定该库的位置即可。可以编辑/usr/bin/xbmc文件,将export LD_PRELOAD=”/lib/libbz2.so.1.0.4″加入该文件头部。
# File:/usr/bin/xbmc
# This Program is distributed in the hope that it will be useful,
......
SAVED_ARGS="$@"
prefix="/usr"
exec_prefix="${prefix}"
datarootdir="${prefix}/share"
LIBDIR="${exec_prefix}/lib"
#add libbz2 here
export LD_PRELOAD="/lib/libbz2.so.1.0.4"
# Check for some options used by this script
.......
SQLite指南-Ubuntu篇
SQLite是一个轻量级数据库系统,SQLite基于纯C实现,具有良好的跨平台特性。SQLite使用简单,能够应付小型的软件开发应用。在开发中使用SQLite,你需要从SQLite官方网站下载源码和库文件,当然,也可以自己编译库文件。
一、下载SQLite源码
从这里获得SQLite源码,解压到任意目录。
二、编译静态库文件
首先生成目标文件
gcc -c sqlite3.cc -o sqlite3.o
从目标文件生成静态库
ar cvr libsqlite3.a sqlite3.o
使用静态库文件生成目标 假设在SQLiteDBTest.cpp文件中使用了sqlite的相应接口,静态编译的方法如下:
gcc SQLiteDBTest.cpp libsqlite3.a -lpthread -ldl -lstdc++ -o SQLiteDBTest
其中,-lpthread -ldl参数指定了sqlite使用的线程库和dl库(参见http://www.sqlite.org/howto compile.html),lstdc++指定使用标准C++库。
三、编译动态库文件
生成动态库文件
gcc -shared -fPCI -o libsqlite3.so sqlite3.o -ldl -lpthread
注意链接参数-ldl和-lpthread 使用动态库文件生成目标
gcc SQLiteDBTest.cpp -lsqlite3 -L. -lstdc++ -o SQLiteDBTest
其中-L.参数指定gcc优先从当前目录搜索库文件,如果不加该行,则优先从系统目录搜索库文件。 一般开发过程中,如系统中自带sqlite库,一般不需要自行编译相应库文件。如若要使用自行编译的库文件,最好安装时将其拷贝到系统库目录中。不然的话,对于自行编译的动态库,需要指出其位置,程序才能正常运行,使用如下命令添加查找库文件位置。
export LD_LIBRARY_PATH=$(pwd)
REF:
关闭[MP3]


