我在GNU/Linux下使用的桌面环境工具组合

为了使GNU/Linux桌面环境下加载的程序较少以节省内存资源和提高启动时间,我目前并不使用重量级的桌面环境KDE和Gnome,甚至连登录窗界面gdm或xdm都不用,而是直接启动到控制台,登录后调用startx进入X视窗环境。所使用的工具组合列举如下:

在~/.bashrc中设置音频

首先介绍登录到控制台时,在~/.bashrc中定义的一些环境变量,它们会在启动X Window后,由amixer命令使用,用于系统音量控制。

# Default sound deviceexport DEFAULT_SOUND=numid=3,iface=MIXER,name=”‘Master Playback Volume'”# Max sound for the two channels supported by the sound carddeclare -i MAX_SOUND_VOLUMEexport MAX_SOUND_VOLUME=65536# Default sound volume percentage for the two channels when starting X windowdeclare -i DEFAULT_LSOUND_VOLUME_PERCENTAGE DEFAULT_RSOUND_VOLUME_PERCENTAGEexport DEFAULT_LSOUND_VOLUME_PERCENTAGE=40export DEFAULT_RSOUND_VOLUME_PERCENTAGE=40# Default sound volume for the two channels when starting X windowdeclare -i DEFAULT_LSOUND_VOLUME DEFAULT_RSOUND_VOLUMEexport DEFAULT_LSOUND_VOLUME=$(($MAX_SOUND_VOLUME * $DEFAULT_LSOUND_VOLUME_PERCENTAGE / 100))export DEFAULT_RSOUND_VOLUME=$(($MAX_SOUND_VOLUME * $DEFAULT_RSOUND_VOLUME_PERCENTAGE / 100))# Whether play init sound when starting X windowexport STARTX_INIT_SOUND=1

# Aliases for starting X with or without soundalias xs=”export STARTX_INIT_SOUND=1; startx”alias xq=”export STARTX_INIT_SOUND=0; startx”

针对以上代码解释如下:

1. DEFAULT_SOUND变量包含了指定操作系统ALSA声卡驱动调音器设备的编号与名称。amixer以该值为参数,可以控制相应音频的音量。该设备信息可以在命令行执行amixer contents显示出来,如下所示。可以看出,默认音频设备音量的最小值为0,最大值为65536(2字节),最小调整量为1,当前左、右声道音量值均为17790。

numid=4,iface=MIXER,name=’Master Playback Switch’ ; type=BOOLEAN,access=rw——,values=1 : values=onnumid=3,iface=MIXER,name=’Master Playback Volume’ ; type=INTEGER,access=rw——,values=2,min=0,max=65536,step=1 : values=17790,17790numid=2,iface=MIXER,name=’Capture Switch’ ; type=BOOLEAN,access=rw——,values=1 : values=onnumid=1,iface=MIXER,name=’Capture Volume’ ; type=INTEGER,access=rw——,values=2,min=0,max=65536,step=1 : values=28174,28174

2. MAX_SOUND_VOLUME变量存储了最大音量值65536。

3. DEFAULT_LSOUND_VOLUME_PERCENTAGE与DEFAULT_RSOUND_VOLUME_PERCENTAGE分别为左、右声道的默认音量百分比,目前设为40%。

4. DEFAULT_LSOUND_VOLUME与DEFAULT_RSOUND_VOLUME分别为左、右声道的默认音量整数值。

5. STARTX_INIT_SOUND变量为1时,在调用startx进入X Window时,会自动播放欢迎音乐;为0时则不播放。播放命令在~/.xinitrc中设置。

6. 创建了两个aliases,xs为调用startx时播放欢迎音乐,xq则不播放。

设置~/.xinitrc

在控制台登录后,有了~/.bashrc中的设置,就可以调用xs或xq来启动startx进入X Window视窗环境。启动过程中的相关配置与必要程序加载是在~/.xinitrc中设置的。其内容如下:

# Export ibus environment variablesexport XMODIFIERS=@im=ibusexport GTK_IM_MODULE=ibusexport QT_IM_MODULE=ibus

# Load NVIDIA configurationsnvidia-settings –load-config-only

# Load keyboard and mouse configurationsxmodmap ~/.xmodmaprc &# Load X server resourcesxrdb ~/.Xresources &

# Load image(s) as desktop wallpaper# set_wallpaper.sh -r 0 -w 1920 -h 1080 -x 1280 -y 0 $picture/wallpapers/sunflower.jpg &set_multi_wallpapers.sh -t 300 &# Set the default sound volumeamixer cset numid=3,iface=MIXER,name=’Master Playback Volume’ $DEFAULT_LSOUND_VOLUME,$DEFAULT_RSOUND_VOLUME &# Play welcome sound: Steve Jobs’ speechif [ “$STARTX_INIT_SOUND” = 1 ]; then mplayer $music/speech/steve\ jobs\ in\ harvard\ clip.mp3 < /dev/null > /dev/null &fi

# Adjust touchpad pressure sensitivityif [ “$cur_host_name” = “QuantumBoy” ]; then synclient PressureMotionMinZ=8 synclient PressureMotionMaxZ=80fi

# Start window managersawfish –display=:0

针对以上代码解释如下:

1. 导出ibus输入法相关的环境变量。

2. 执行nvidia-settings加载NVIDIA配置。

3. 使用xmodmap加载键盘与鼠标配置,主要是交换Caps Lock与左Control键,交换鼠标左右键。具体内容参见这里。

4. 使用xrdb加载视窗资源文件~/.Xresources,其中针对不同的程序设置X显示参数,设置光标主题。其内容如下:

Xcursor.theme: oxy-greenXClock.Clock.hourColor: redXClock.Clock.minuteColor: greenXClock.Clock.minorColor: blueXClock.Clock.majorColor: black

5. 启动set_multi_wallpapers.sh脚本加载动态壁纸,或调用set_wallpaper.sh加载单张壁纸。具体内容参见这里 。

6. 使用amixer设置系统默认音量。左右声道的音量值来自环境变量DEFAULT_LSOUND_VOLUME和DEFAULT_RSOUND_VOLUME。

7. 根据环境变量STARTX_INIT_SOUND的值判断是否加播放启动音频。目前,我播放的是乔布斯说的stay hungray、stay foolish那段话。

8. 根据电脑的主机名判断,如果使用的是自己的笔记本电脑ZaReason Ultralap 440的话,则执行synclient命令设置触摸板压力阈值。

9. 最后,启动Sawfish窗口管理器。

Sawfish设置:~/.sawfishrc

而消极的人则在每个机会都看到某种忧患。

我在GNU/Linux下使用的桌面环境工具组合

相关文章:

你感兴趣的文章:

标签云: