FreeBSD 下双显示器的设置

双显示器的好处,除了吸引妹妹羡慕的眼光,的确还是有一些的。譬如,同时使用多个显示器进行工作的好处和不利

实验室的朋友们都转向大屏幕了,淘汰了一些同类型的显示器被我捡了来。我想在FreeBSD下搞一个双显示器来娱乐一下自己,活跃一下单调乏味的码字生活。

Windows 下设置双显示器只需要点点鼠标,FreeBSD 下则需要修改 xorg.conf。当然,过程并不复杂。这个帖子就是我设置双显示器的经验记录,希望对您有所帮助。

第一步:观察显卡和显示器接口

一般台式机的显卡和显示器都提供VGA和DVI接口,或者两个VGA,或者两个DVI,或者一个VGA一个DVI。根据实际情况,选择连线。我的DELL机器是一个VGA一个DVI,所以我准备了一条 Male-Male VGA 线,一条 Male-Male DVI-D 线。(看完这一段,明白了你的码字生活真的好乏味)

DVI线有三种,科普知识见DVI接口。例如,“DVI-I支持数字/模拟转换的接口类型,倘若显示器只有一个DVI接口,那就会搭配支持数字/模拟两种模式的DVI-I。假如显示器有DVI和VGA两种接口,则搭配DVI-D。”

第二步:在 FreeBSD 下查看接口信息

把线连上以后,要查看一下接口的信息,可以用 xrandr 命令。我的机器显示如下信息:

IOU@~$ xrandr 
Screen 0: minimum 320 x 200, current 2560 x 1024, maximum 2560 x 1024
VGA-0 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 338mm x 270mm
   1280x1024      60.0*+   75.0  
   1152x864       75.0  
   1024x768       75.0     60.0  
   800x600        75.0     60.3  
   640x480        75.0     59.9  
   720x400        70.1  
DVI-0 connected 1280x1024+1280+0 (normal left inverted right x axis y axis) 338mm x 270mm
   1280x1024      60.0*+   75.0  
   1152x864       75.0  
   1024x768       75.0     60.0  
   800x600        75.0     60.3  
   640x480        75.0     59.9  
   720x400        70.1  
S-video disconnected (normal left inverted right x axis y axis)

第三步:设置 xorg.conf

两个显示器分别起名为 VGA-0 和 DVI-0。有些配置文档说,要设置两个显示器的位置关系,哪个在哪个的左边。在 xorg.conf 里我尝试着没设置,结果是缺省地,VGA-0 应该放在 DVI-0 的左侧,这样鼠标在两个显示器里移动才符合正常人的习惯。如果非要设置,可以

root@~# xrandr --output DVI-0 --right-of VGA-0

我的 xorg.conf 设置如下,根据实际情况,你可能需要局部地修改。Have fun with your dual monitors!

Section "ServerFlags"
        Option         "AutoAddDevices" "Off"
        Option         "Xinerama" "True"
EndSection

Section "Files"
        ModulePath   "/usr/local/lib/xorg/modules"
        FontPath     "/usr/local/lib/X11/fonts/wqy/"
        FontPath     "/usr/local/lib/X11/fonts/misc/"
        FontPath     "/usr/local/lib/X11/fonts/TTF/"
        FontPath     "/usr/local/lib/X11/fonts/OTF"
        FontPath     "/usr/local/lib/X11/fonts/Type1/"
        FontPath     "/usr/local/lib/X11/fonts/100dpi/"
        FontPath     "/usr/local/lib/X11/fonts/75dpi/"
EndSection

Section "Module"
        Load  "extmod"
        Load  "record"
        Load  "dbe"
        Load  "dri"
        Load  "dri2"
        Load  "glx"
EndSection

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
EndSection

Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse"
        Option      "Protocol" "auto"
        Option      "Device" "/dev/sysmouse"
        Option      "ZAxisMapping" "4 5 6 7"
EndSection

Section "Device"
        Identifier  "Card0"
        Driver      "radeon"
        VendorName  "Advanced Micro Devices, Inc. [AMD/ATI]"
        BoardName   "RV370 [Radeon X300]"
        BusID       "PCI:1:0:0"
EndSection

Section "Monitor"
        Identifier   "VGA-0"
        VendorName   "DEL"
        ModelName    "DELL 1703FP"
        Option       "DPMS"
EndSection

Section "Monitor"
        Identifier   "DVI-0"
        VendorName   "DEL"
        ModelName    "DELL 1703FP"
        Option       "RightOf" "VGA-0"
        Option       "DPMS"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "VGA-0"
        SubSection "Display"
                Viewport   0 0
                Virtual   2560 1024
                Depth     24
                Modes     "1280x1024"
        EndSubSection
EndSection

Section "ServerLayout"
        Identifier     "X.org Configured"
        Screen         "Screen0"
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
        Option         "AIGLX" "True"
        Option         "DRI2" "True"
EndSection

Section "DRI"
        Group 0
        Mode 0660
EndSection

Section "Extensions"
        Option  "Composite" "Enable"
EndSection

补充

后来,换了台主机,intel 的显卡。还是同样的步骤,只是 BusID 不太一样,需要改一下。其他的就没有什么要补充的了。

效果图

效果图以后有机会再上。

小屏幕练就斗鸡眼,宽屏幕练就散光眼。双显示器的确锻炼使用者的注意力,初级阶段是左眼看左屏幕,右眼看有屏幕;高级阶段是左眼看右屏幕,右眼看左屏幕。我希望通过锻炼,能够练就两只火眼金睛,有助于我申请保安里的高档职业—盯监视器。一大堆屏幕摆在面前,保证不放过一个美女。

设置网络打印机

在 FreeBSD 下使用网络打印机有很多的选择。譬如,Opera 的用户,可以直接输入网络打印机的IP地址,然后选择要打印的pdf或ps文件,点点鼠标就搞定。遗憾的是,Opera 经常为此崩溃,它的打印功能一直被诟病。

下面介绍的网络打印的方法是在终端用 lpr 命令完成的。设置很简单,但必须知道网络打印机的 IP 地址先,譬如,设其为 168.13.30.122(这个地址是我捏造的)。

[1] 在 /etc/rc.conf 里添加:

lpd_enable="YES"        ## start lpd when starting system

[2] 在 /etc/hosts 里添加

168.13.30.122   IOU_Office_Printer

[3] 在 /etc/printcap 里设置

lp:\
        :lp=9100@IOU_Office_Printer:\
        :sh:\
        :mx#0:\
        :sd=/var/spool/lpd/lp:\
        :lf=/var/log/lpd-errs:

IOU_Office_Printer 是我给这台网络打印机起的名字,9100是端口。

重新启动机器……

使用 IOU_Office_Printer 打印,只需在终端输入

lpr 需要打印的文件名

这样设置好后,再在 opera 里打印,选“打印到 LPR”来打印页面,一切 OK。

FreeBSD 下 Skype 的设置

FreeBSD 下 Skype 的设置

如果有摄像头,要在config里选中VIDEO,系统会自动装上webcamd。

安装结束后,以root编辑

# vi vi /usr/local/bin/skype

添加或者将原有的修改为

#!/compat/linux/bin/sh
LD_PRELOAD=/usr/local/lib/libv4l/v4l2convert.so /usr/local/share/skype/skype –resources=/usr/local/share/skype $@

摄像头 Webcamd 的設置

为了使得webcamd在卡机时启动,在/boot/loader.conf中添加

cuse4bsd_load="YES"

同时,在/etc/rc.conf里添加

webcamd_enable="YES"

这样,开机后即可发现设备/dev/video0启动。然而,skype并不能调用设备/dev/video0,必须以root修改该设备的属性后skype>才能获取该设备。

# chmod 666 /dev/video0

也可以自动修改设备属性,但我认为,为了安全起见还是手动地修改为好。

聲音設備的設置

麥克、揚聲器、振鈴都選用 oss。

用 mixer 命令在虛擬終端查看麥克風是否打開。譬如,

IOU@~$ mixer
Mixer vol      is currently set to  70:70
Mixer pcm      is currently set to  75:75
Mixer mic      is currently set to  80:80
Mixer mix      is currently set to  75:75
Mixer rec      is currently set to 100:100
Mixer igain    is currently set to   0:0
Mixer ogain    is currently set to  50:50
Recording source: mic

如果麦克风没有打开,可以

IOU@~$ mixer mic 80

原文链接:http://wiki.freebsdchina.org/software/s/skype

FreeBSD Shell的操作和使用

FreeBSD Shell的操作和使用

一、常见sh介绍

sh

sh是系统标准的shell.系统里面的许多脚本(例如/etc/rc.subr,./configure)都是sh脚本。能看懂sh脚本,才能自己独立解决问题。

tcsh

tcsh随发行版一起提供给用户,属于系统默认的root用户使用的shell。

tcsh是一个非常好用的 shell,合理地配置能够极大地提高工作效率,并减少出错的机会。但是需要注意的是,tcsh在很多方面与 sh 并不兼容。

bash

FreeBSD上面的bash和linux上面的是一样的。如果你没入门的话,linux论坛里面能能找到中文资料。bash和sh是兼容的。

bash不作为FreeBSD的一部分提供给用户。如果需要使用bash,需要到ports下进行安装。

二、如何查看当前用户的默认shell

用这个命令

echo $SHELL

三、如何更改用户的默认shell

1,作为root改变别人的默认shell

vipw

或者

chsh 用户名

2,改变自己的shell

chsh

四、如何设置环境变量

1,Csh

临时使用:

bsdx64# setenv CVSROOT /opt/cvsroot
bsdx64# env|grep CVSROOT
CVSROOT=/opt/cvsroot

写到.cshrc,永久生效

setenv CVSROOT  /data/cvsroot

2,Sh/Bash

临时使用:

bsdx64$ export CVSROOT=/opt/cvsroot
bsdx64$ env|grep CVSROOT
CVSROOT=/opt/cvsroot

写入 .profile 可以永久生效

CVSROOT=/data/cvsroot
export CVSROOT

或者

export CVSROOT=/data/cvsroot

原文链接:http://wiki.freebsdchina.org/faq/shell/about
http://wiki.freebsdchina.org/faq/shell/query_login_shell
http://wiki.freebsdchina.org/faq/shell/change_login_shell
http://wiki.freebsdchina.org/faq/shell/setenv

FreeBSD作弊条

FreeBSD作弊条

1.在 ls 时显示多种颜色

打开 /etc/csh.cshrc(全局生效) 或者 ~/.cshrc(当前用户有效),加入下列设置:

setenv LSCOLORS ExGxFxdxCxegedabagExEx
setenv CLICOLOR yes

根据之前修改的配置文件,在命令行运行如下命令,以 /etc/csh.cshrc 为例:

source /etc/csh.cshrc

2.修改 rc.conf 之后让它立即生效

sh /etc/rc

3.新建一个空白文件

touch filename

4.清空文件内容但保留文件本身

cat /dev/null > filename

更简单的:

true > filename

5.快速注销

按下ctrl+d即可,代表EOF(End of File),适合于退出多种交互界面,如gdb、python、bc、ghci、数据库。

6.将 man 的内容转输出为 txt

man socket | col -b > socket.txt

7.让 grep 高亮匹配出的字符串

在/etc/csh.cshrc中加入如下配置

setenv GREP_OPTIONS –color=auto

8. 快速切换音频输出通道(snd_hda 驱动)

snd_hda 驱动可以通过 sysctl(8) 来快速切换是否使用前置音频接口还是后置音频接口(作为超级用户)

sysctl hw.snd.default_unit=1

默认 hw.snd.default_unit 为 0,就使用后置的音频接口,为 1 时使用前置。

原文链接:http://wiki.freebsdchina.org/doc/t/tip

使用FreeBSD默认的csh替代bash

使用FreeBSD默认的csh替代bash

一直以来,都习惯了bash的风格,比如命令补全、历史命令编辑、nohup后台运行,等等。

现在基本上只使用FreeBSD,而FreeBSD默认的shell并不是bash,而且bash ports是安装在/usr/local/bin/bash的,我一般都把/usr/local从根分区分离出去,这样的话,如果系统有问题需要进入单用户模式的时候,bash是不可用的。

研究了一下,如果csh经过一定的设置,也是很好用的。

1、设置命令补全,修改/etc/csh.cshrc文件:
set autolist

2、显示类似 [dirk@trinity /usr/local/etc]# 这样的提示符,修改/etc/csh.cshrc文件:
set prompt = ‘[%B%n@%m%b %B%~%b%]#’

3、让ls命令显示目录的时候带/斜杠区分普通文件,修改/etc/csh.cshrc文件:
alias ls ls -F

4、让csh具有历史命令编辑功能,还是/etc/csh.cshrc文件:
bindkey “^W” backward-delete-word
bindkey -k up history-search-backward
bindkey -k down history-search-forward

5、最后,使用script命令替代nohup命令:
script -a script.log “command”

原文链接:http://www.dirk.pdx.cn/blog/diary,266894.html