在Debian里不重启切换两块声卡

在电磁干扰严重的狭小空间里,笔记本的内置声卡表现一般比较差,至少我的n600c底噪就很明显。要获得更好的效果或者需要数字输出时只能借助外置声卡了,包括pcmcia接口和usb接口两种,前者如创新的Audigy2 ZS Notebook,当然很贵了;后者如我的玲珑II,性价比还不错。

在Linux里不像Windows那样可以简单的在控制面板里选择使用哪个声卡作为首选设备,经过一段时间的研究,我找到一个还可以接受的办法,至少不需要重启系统。首先 将以下的文本保存为/etc/modutils/sound_cards,然后sudo update-modules,这个命令会处理/etc/modutils里的所有文件,合成/etc/modules.conf文件。

alias snd-card-0 snd-maestro
alias snd-card-1 snd-usb-audio
options snd-maestro index=0
options snd-usb-audio index=1
options snd-usb-audio enable="1"

要切换到usb声卡时:

sudo /etc/init.d/alsa force-unload
sudo modprobe snd-usb-audio

类似的,要切换到内置声卡(使用maestro3芯片)时:

/etc/init.d/alsa force-unload
modprobe snd-maestro3

注意force-unload的时候会先自动杀掉所有使用声卡的进程,如firefox、音量控制和bmp等等,如果没有这样的进程在运行,可以直接unload,或者rmmod snd-maestro3这样卸载模块。

另外一种方法是在应用程序里切换,例如bmp,在首选项->插件->输出里把输出插件选为ALSA,然后在ALSA的配置里选择希望使用的音频设备和混音设备即可。其他应用程序类似,其实如果只关心某个应用程序,这样更省事。

最后,Gentoo用户请参考这个Tip,感谢acura提供。

搬家前链接:https://www.cnblogs.com/bjzhanghao/archive/2005/12/16/298333.html

Windows分区转换为Debian分区

我的机器上是Debian和win2000双系统,今天把原来window的e盘转换成linux的分区了(因为PQMagic划分空间有一定的危险性),相当于给linux增加了10G容量,这下宽裕多了。

我是把/home放在了新分区上,因为用户要下载一些比较大的文件都放在这里面,方法如下:

1、在windows里把e盘上有用的东西移到其它盘上

2、重新启动进入Debian的recovery mode,即single模式

3、# mv /home /home2

4、# mkdir /home

5、# mkfs.ext3 /dev/hda6

6、# mount /dev/hda6 /home

7、# cp -ar /home2/* /home

最后再重启机器即可。

用Debian遇到的部分问题和解决

1、待机命令

echo mem>/sys/power/state

这之前要确认acpid服务已经启动;

2、打开Firefox的profilemanager

firefox -profilemanager

3、支持speedstep,在/etc/modules里加入speedstep-ich、cpufreq_powersave和cpufreq_userspace这三项,其中第一项是针对PIIIM的笔记本,如果是迅驰用speedstep-centrino;

4、查看pcmcia读卡器的设备名

cat /proc/partions

5、释放空间:

apt-get clean

6、Linux下听ape用SuperMMX的mac-port:http://sourceforge.net/projects/mac-port/

7、从stable转换到testing后,在一个窗口输入过汉字后,alt-tab会失效无法切换到其他窗口,考虑是fcitx的问题,所以决定 换输入法系统。apt-get install scim,scim-tables-zh,scim-gtk2-immodule,然后编辑/etc/X11/Xsession.d/90chinput -start内容如下:

export XMODIFIERS=@im=SCIM
export XIM=xim
export XIM_PROGRAM="scim -d"
export GTK_IM_MODULE=xim
export QT_IM_MODULE=xim
scim -d

scim-tables-zh里并不包括拼音输入法,所以apt-get install scim-pinyin(这个包以前叫scim-chinese),而且我是添加了一个unstable源才找到的。

Update2006-4-21:解决有些程序里不能输入中文的问题,要安装scim-gtk2-immodule这个包,然后把上面的90chinput-start文件改为如下:

export XMODIFIERS="@im=SCIM"
export GTK_IM_MODULE="SCIM"
scim -d

8、手动关闭显示器

xset dpms force off

9、更改gnome的splash:#update-alternatives --config desktop-splash,(来自Debian学习笔记

10、用totem播放其他格式:从这个地址下载win32codecs-essential-20040703.tar.bz2和rp9codecs-20050115.tar.bz2,解开的内容放到/usr/lib/win32(如果不存在建一个)即可。

11、DNS解析很慢可能是ipv6造成的,去掉ipv6的方法:在/etc/modprobe.d/aliases中,把“alias net-pf-10 ipv6”注释掉,然后update-modules,再重启。(这个方法更方便:在firefox地址栏里输入about:config,用 filter找到network.dns.disableIPv6,修改为true。来自Ubuntu快速入门手册

12、如遇到空间不足,可以考虑先清掉apt的cache:apt-get clean;还可以用debfoster工具删除不需要的deb包。

13、文件名转码工具convmv,用于转换windows分区拷文件过来可能出现文件名乱码,例如

convmv -f utf8 -t cp936 --notest *

14、把从cd抓下来的ape文件分为多个:安装cuetools和shntool,然后cuebreakpoints -i cue CDImage.cue|shnsplit -n track CDImage.ape,这样得到的是多个.wav文件,可以给shnsplit加-o ape参数转为ape,但要使用特别的mac版本,在shntool主页有下载。

15、修改grub的背景:修改/boot/grub/menu.lst,加入splashimage (hd0,2)/boot/grub/images/xxx.xpm.gz,图片文件要自己制作或者下载现成的。

16、修改console分辨率,在menu.lst的kernel行最后加入vga=791,表示1024x768的分辨率。好像还可以vga=ask?

17、彩蛋:在gnome里按alt+f2打开运行程序对话框,输入free the fish,会出现一条小鱼(旺达)在屏幕上游动。

18、对时用ntpdate,教育网内时间服务成员列表

19、用wget批量下载,方法1:seq 20 | awk '{print "http://mydomain/file"$1".zip"}' | wget -i -;方法2:for i in seq 1 20;do wget http://domain/$i.txt;done;更简单的:curl http://mydomain/file[1-20].zip -O

20、代理服务器的环境变量:

export http_proxy="myproxy:port"
export ALL_PROXY="myproxy:port"

21、使用usb光驱

mount -t iso9660 -o iocharset=cp936 /dev/scd0 /mnt/usb

22、网卡命名:nameif(链接

23、同步internet时间

ntpdate time.nist.gov

搬家前链接:https://www.cnblogs.com/bjzhanghao/archive/2005/11/09/272253.html

Debian里编译内核

以Debian 2.6.8版本为例:

1、Debian.org上关于编译内核的说明;另一篇看起来不错的文章:Creating custom kernels with Debian's kernel-package system

2、下载内核源代码apt-get install kernel-source-2.6.8,在/usr/src下得到kernel-source-2.6.8.tar.bz2文件,用tar xfj命令展开;

3、下载需要的patch,比如休眠功能的patch是kernel-patch-suspend2,注意目前在experimental里才有,所以要在/etc/apt/sources.list里加上必要的源;

4、执行以下操作,如果当前语言是中文,执行前最好执行zhcon进入中文环境:

# cd /usr/src/kernel-source-2.6.8
# cp /boot/config* .
# make-kpkg clean
# make-kpkg --append_to_version -2 --added_patches suspend2 --config menuconfig
# make-kpkg --append_to_version -2 --initrd kernel_image
# cd ..
# dpkg -i kernel-image-2.6.8-2.i386.deb

注意在menuconfig的时候先载入原来的配置文件,即上面第二行复制过来的/usr/source/config-xxx文件,然后在这个配置上进行修改;另外,我如果不加--initrd参数,则新内核无法启动。

5、重启电脑用新内核启动。

Update(2005/12/23):不加--initrd参数可以启动了,关键是在menuconfig的时候要把ext2,ext3等文件类型加入内核,同时要把对ide设备的支持直接加入内核,我以前只注意了前者。

搬家前链接:https://www.cnblogs.com/bjzhanghao/archive/2005/10/13/254213.html

Debian安装配置常用软件

1、安装j2sdk,下载j2sdk-1_4_2_09-linux-i586-rpm.bin文件,chmod 755 j2sdk-1_4_2_09-linux-i586-rpm.bin,运行后得到.rpm文件,用alien转换为.deb包,然后dpkg -i  xxx.deb即可,安装后的文件在/usr/java目录;

Update: 在debian里用上面rpm包安装jdk有问题,一些jar文件没有被展开,所以下载非rpm的那个包比较好,chmod +x后解压到想要的目录即可。在~/bash_profile里设置JAVA_HOME和PATH=$PATH:$JAVA_HOME/bin, gnome的shell要在菜单里设置为登录shell。

2、安装eclipse,下载后直接tar zxvf即可,然后在桌面建立一个快捷方式,vm参数指向刚才安装的jdk下的bin/java;特别要注意一个问题,在windows下开发的插件项目 拿到linux下,META-INF目录和里面的MANIFEST.MF是小写的,这样会造成编译时出现很多错误,所以一定要保证它们是全部小写的。

file

图1 运行在Linux下的Tree

3、字体和美化问题真是有够麻烦。字体的美化(毕竟眼睛健康很重要),暂时使用这个方案,比较省事吧;解决xmms乱码问题,最简单的方法,卸掉xmms装beep-media-player。

4、设置gnome里的环境变量,//todo,修改.bash_profile后在gnome里竟然不起作用,但在console里就有用;

5、查看deb包安装后的位置

dpkg -L xxx

6、屏幕截图用printscreen即可,可以截全屏或一个窗口区域;或者scrot -d 5延迟5秒截图,适合截菜单界面,因为gnome里打开菜单后热键会失效;

7、安装gnome主题(gnome-looks.org),要在~/.themes和~/.icons下分别放不同的主题文件;模拟mac的 start bar要装gdesklets,我感觉不太实用;安装gdm主题,运行gdmsetup;安装xmms主题,似乎要重启gnome才可生效;

8、gnome下的音量控制用gnome-media;gnome下的apt用gnome-apt(alpha版,小心使用);安装deborphan可以找到不被任何包使用的库,然后apt-get remove之就可以节省出一些空间;

9、其他很多软件,推荐:Windows软件的Liunx版本替换表,俄国人写的;

10、解压缩.tar.gz文件的方法:tar zxvf a.tar.gz;解压缩.tar.bz2文件

tar xfj a.tar.bz2

11、关于网卡的配置:apt-get install etherconf,然后dpkg-reconfigure etherconf;如果无线网络需要密码,iwconfig eth1 key xxxxxx就可以了 ,或者在/etc/network/interfaces里加上wireless_key xxxxxx的配置;要改为自动获得ip时,执行dhclient eth1;

12、从www.rssowl.org下载rssowl阅读blog,但我发现rssowl在linux下内置的浏览器有些问题,很多格式丢失了,看起来会比较费力;

13、要在linux里远程桌面到windows xp系统

apt-get install grdesktop

14、在gaim里用代理服务器上msn,直接在首选项里设置http代理会提示“访问被禁止:代理服务器禁止端口1863流过”,应该在msn帐号里选择使用http方式,并设置代理服务器;

15、安装mysql很简单,直接apt-get install mysql-server-4.1就可以了,使用上比windows的gui方式稍微麻烦些,见这篇文章;另外,从windows版本的mysql里直接拷出来的库不能拿来用,因为表名和字段名在linux里区分大小写。

16、安装teTex:在sources.list里添加ustc的源deb http://debian.ustc.edu.cn/debian-uo/ sid marillat rareware misc ustc,然后

apt-get install tetex-bin tetex-base tetex-extra cjk-latex
apt-get install dvipdfmx dvipdfm-cjk ttf-arphic* tfm-arphic*

为了能使用中文,在这个网站下载gbkfonts工具,静态的那个即可。用下面的命令配置一下:

mkdir ~/texmf
cd ~/texmf
gbkfonts /usr/share/fonts/zh/simsun.ttf song 
gbkfonts /usr/share/fonts/zh/simkai.ttf kai
mv cid-x.map dvipdfm/config/
mkdir dvips/config
mv cjk.map dvips/config/

cp /usr/share/texmf-tetex/dvips/config/config.ps dvips/config/
echo "p +cjk.map" >> dvips/config/config.ps
mv pdftex.cfg pdftex/config/
mktexlsr

配置中文的部分来自这个网页,修改了一些地方。在.tex文件里像下面这样写就可以显示中文了

\documentclass{article}
\usepackage{CJK}
\begin{document}
\begin{CJK}{GBK}{song}
这是 latex
\end{CJK}
\end{document}

17、apt安装samba,然后修改/etc/samba/smb.conf,把 security = user前的分号去掉; touch /etc/samba/smbpassword 生成smbpassword文件,再smbpassword -a username添加一个user。显示中文,在smb.conf里边的[global] 栏目下添加一行:client code page 936(用windows访问正常,但用palm上的wifile访问时文件名的中文部分都是空白)

搬家前链接:https://www.cnblogs.com/bjzhanghao/archive/2005/09/30/247027.html

Debian安装备忘

对linux的兴趣时断时续,以前用的都是redhat,这次换用Debian吧,希望能坚持一直用下去,直到完全替代windows。这是安装Debian的过程,遇到的问题和解决方法,备忘。

1、用分区工具如PQMagic划出一块空闲分区,我给的大小是4G;

2、下载debian当前版本的第一张光盘映像,刻成光盘;

3、用这张光盘启动,在boot时输入linux26用2.6内核启动,选择语言为中文,其余按提示操作,注意分区时选择最大空闲空间,自动分区即 可。安装时曾遇到过无法dhcp连接的问题,后来把网线插在无线路由器上就解决了,原来一直是插在歌华有线送的cable-modem上,很奇怪在 win2000下这样是可以得到IP地址的;

4、无线网卡的配置。我用的是Netgear WG511网卡,方法是在 http://prism54.org/%7Emcgrof/firmware/ 下 载最新的firmware版本,更名为isl3890isl3877各一份放在/usr/lib/hotplug/firmware下面(用grep FIRMWARE_DIR /etc/hotplug/firmware.agent命令找到),对于2.6版本的内核需要mount sysfs,方法如下:

mkdir /sys
Add "none /sys sysfs defaults 0 0" to /etc/fstab
mount /sys

再在/etc/network/interfaces里添加这样两句(假设无线网卡的代号是eth1),

auto eth1
iface eth1 inet dhcp

这样用ifup就可以启动无线网卡并通过dhcp获取ip地址了:

ifup eth1

这个是关于prism(WG511所使用的芯片)驱动的wiki网站http://prism54.org/phpwiki

4、apt-get install gdm gnome-core x-window-system-core ttf-arphic-uming,其中ttf-arphic-uming字体是为了让gnome显示中文(虽然不是非常好看);安装小企鹅输入法, apt-get install fcitx,完成后要做一些设置:把下面的内容保存为/etc/X11/Xsessin.d/25chinput-start,然后重新启动X或重新启动 系统:

export XMODIFIERS="@im=fcitx"
export XIM=fcitx
export XIM_PROGRAM=fcitx
fcitx&

如果需要配置fcitx的参数,可以修改/root/.fticx/config文件;

5、因为屏幕1400x1050算非标准分辨率,所以在/etc/X11/XF86Config-4里添加这个值,然后在gnome里就可以把桌面设置为这个分辨率了;

6、(从现在开始是在Debian里写了;)要在面板上显示电池电量,先要安装acpid,然后在面板上添加电池电量监视器即可;

7、这时的声音不正常,用mpg123播放mp3发出刺耳的噪音,apt-get install alsa后,执行alsaconf检测声卡,然后重新启动就好了;

8、安装应用软件:msn用gaim,画图用gimp,收信用evolution,浏览器mozilla firefox,听歌xmms,媒体播放器totem,等等;

9、用优盘mount /mnt/sda1,同时用第二个优盘mount /mnt/sdb1,用pcmcia的读卡器mount /mnt/sde1。写到/etc/fstab里可以简化命令,iocharset=cp936选项可以显示中文文件名。

10、网卡如果要使用静态ip地址(在实验室就是这种情况),/etc/network/interfaces里这样写:

iface eth1 inet static
        address 162.105.131.205
        netmask 255.255.255.128
        broadcast 162.105.131.255
        gateway 162.105.131.129
        dns-nameservers 162.105.129.27

要转换为dhcp时运行$dhclient eth1即可。

11、让cpu支持降频,装cpufreqd,在/etc/modules里添加speedstep-ich;可用的模块列表在这里 /lib/modules/[你的内核版本]/kernel/arch/i386/kernel/cpu/cpufreq;重启服务sudo /etc/init.d/cpufreqd restart。

12、若usb设备不能停止,用这个命令杀掉使用它的所有进程:sync && fuser -m /dev/sda1 -k

搬家前链接:https://www.cnblogs.com/bjzhanghao/archive/2005/09/26/244596.html