分类存档: Tech/技术-Archlinux - 第5页

用三个显卡连接三个显示器时xorg.conf的配置方法(多显示器)

#转载自https://calomel.org/
#######################################################
###  Calomel.org xorg.conf   BEGIN
#######################################################
#
## Calomel.org  Three(3) Screen Display
#
# This config will run three X servers
# to three video outputs connected to three monitors.

Section "ServerLayout"
        Identifier     "Default Layout"
        Screen      0  "Screen0" 0 0
        Screen         "Screen1" LeftOf "Screen0"
        Screen         "Screen2" RightOf "Screen0"
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
        RgbPath      "/usr/X11R6/lib/X11/rgb"
        FontPath     "unix/:7100"
EndSection

Section "Module"
        Load  "dbe"
        Load  "extmod"
        Load  "fbdevhw"
        Load  "glx"
        Load  "record"
        Load  "freetype"
        Load  "type1"
        #Load  "dri"
EndSection

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
        Option      "XkbModel" "pc105"
        Option      "XkbLayout" "us"
EndSection

Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse"
        Option      "Protocol" "IMPS/2"
        Option      "Device" "/dev/input/mice"
        Option      "ZAxisMapping" "4 5"
        Option      "Emulate3Buttons" "no"
EndSection

##############################################################

Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "Monitor Vendor"
        ModelName    "ViewSonic PF815"
        DisplaySize  400        300
        HorizSync    30.0 - 117.0
        VertRefresh  50.0 - 180.0
        Option      "dpms"
        Gamma 1.05 1.15 1.136
EndSection

Section "Monitor"
        Identifier   "Monitor1"
        VendorName   "Monitor Vendor"
        ModelName    "ViewSonic P225"
        HorizSync   30 - 82
        VertRefresh 48 - 150
        Option "dpms"
        Gamma 1.05 1.15 1.136
EndSection

Section "Monitor"
        Identifier   "Monitor2"
        VendorName   "Monitor Vendor"
        ModelName    "ViewSonic P815"
        HorizSync   30 - 82
        VertRefresh 48 - 150
        Option "dpms"
        Gamma 1.05 1.15 1.136
EndSection

##############################################################

Section "Device"
        Identifier  "Videocard0"
        Driver      "nvidia"
        VendorName  "Videocard vendor"
        BoardName   "NVIDIA GeForce 2 MX (generic)"
EndSection

Section "Device"
        Identifier   "NVIDIA GeForce MX (generic)"
        Driver       "nvidia"
        VendorName   "NVIDIA GeForce MX (generic)"
        BoardName    "NVIDIA GeForce MX (generic)"
        BusID        "2:10:0"
EndSection

Section "Device"
        Identifier   "NVIDIA GeForce MX (generic2)"
        Driver       "nvidia"
        VendorName   "NVIDIA GeForce MX (generic2)"
        BoardName    "NVIDIA GeForce MX (generic2)"
        BusID        "2:11:0"
EndSection

##############################################################

Section "Screen"
        Identifier "Screen0"
        Device     "Videocard0"
        Monitor    "Monitor0"
        DefaultDepth     24
        SubSection "Display"
                Viewport   0 0
                Depth     16
                Modes    "800x600" "640x480"
        EndSubSection
        SubSection "Display"
#               Viewport   0 0
                Depth     24
                Modes    "1600x1200"
        EndSubSection
EndSection

Section "Screen"
        Identifier   "Screen1"
        Device       "NVIDIA GeForce MX (generic)"
        Monitor      "Monitor1"
        DefaultDepth    24
        Subsection "Display"
                Depth       24
                Modes       "1600x1200"
        EndSubsection
EndSection

Section "Screen"
        Identifier   "Screen2"
        Device       "NVIDIA GeForce MX (generic2)"
        Monitor      "Monitor2"
        DefaultDepth    24
        Subsection "Display"
                Depth       24
                Modes       "1600x1200"
        EndSubsection
EndSection

##############################################################

Section "DRI"
        Group        0
        Mode         0666
EndSection

#######################################################
###  Calomel.org xorg.conf  END
#######################################################

Archlinux下的文本动画ascii animation

看到别人在ubuntu下弄了ascii animation,于是就在我的Archlinux下弄了试试看,挺好玩。

1 装个perl的模块:pacman -S perl-curses,ubuntu下用sudo apt-get install libcurses-per,

然后下载: wget http://search.cpan.org/CPAN/authors/id/K/KB/KBAUCOM/Term-Animation-2.4.tar.gz

tar -zxvf Term-Animation-2.4.tar.gz

cd Term-Animation-2.4/

perl Makefile.PL && make && make test

make install

2 下载ascii水族馆,ASCIIQuarium

wget http://www.robobunny.com/projects/asciiquarium/asciiquarium.tar.gz

解压缩tar -zxvf asciiquarium.tar.gz

cd asciiquarium_1.0/

更改为可执行chmod +x asciiquarium

运行程序./asciiquarium,就可以看到ascii的动画了。

另外一个动画程序:

1 安装些模块:pacman -S perl-html-parser perl-xml-simple

2 再安装模块:

下载,wget http://search.cpan.org/CPAN/authors/id/M/MN/MNAGUIB/Weather-Underground-3.02.tar.gz

解压,tar vfxz Weather-Underground-3.02.tar.gz

cd Weather-Underground-3.02/

编译,perl Makefile.PL && make && make test

安装,make install

3 安装weatherspect:

wget http://www.robobunny.com/projects/weatherspect/weatherspect.tar.gz

tar vfxz weatherspect.tar.gz

cd weatherspect_v1.8/

chmod +x weatherspect

4 运行:

首先要简单配置一下你的位置,

./weatherspect -c

输入“Shanghai, Shanghai”、选择气温风速单位,它就生成一个配置文件,然后运行./weatherspect,就看到动画了

NAT简介

NAT(Network Address Translation)是在IPv4地址日渐枯竭的情况下出现的一种技术,在RFC3022中定义,可将整个组织的内部IP都映射到一个合法IP上来进行Internet的访问,也可将外部对某IP的访问映射到内部的服务器上。与NAT相关的术语有IP伪装(IP Masquerade)、端口映射(Port Mapping)、端口地址转换(Port Address Translation)、透明代理(Transparent Proxy)等,它们都是NAT的某种表现形式。目前NAT功能基本上属于防火墙、路由器的标配功能之一。

NAT分为源NAT和目的NAT两种,源NAT是指转换前源IP地址和转换后源IP地址不同,数据进入路由器或防火墙后,路由器将其源地址进行了转换后再 将其发出,使外部看不到数据包原来的源地址,对于TCP/UDP协议的数据包,防火墙不仅修改地址,还通过修改源端口来区分不同内部地址的连接,因此 NAT环境下一个合法IP最多可以有65535条TCP连接。例如我们访问新浪网,数据格式如下(假如我们的外网IP地址是 202.112.13.151)
源IP 源端口 目的IP 目的端口
转换前 192.168.0.2 10000

(该端口为1024-65532

之间随机生成)

218.30.66.101 80
转换后 202.112.13.151 20000(路由器随机) 218.30.66.101 80
目的NAT是指转换前目的IP地址和转换后目的IP地址不同(对于TCP/UDP协议,也可以改变端口号),数据进入防火墙后,防火墙将其目的地址进行了转换后再将其发出,使看不到数据包原来的目的地址。例如上边新浪网回复我们的数据包格式如下
源IP 源端口 目的IP 目的端口
转换前 218.30.66.101 80 202.112.13.151 20000
转换后 218.30.66.101 80 192.168.0.2 10000
以上NAT转换是路由器或者防火墙自动为我们转换的。不一定非要是10、172、192等三个私有网段才进行NAT转换,即便内用PC配置的公网IP,也 可以进行NAT转换,这样可以起到隐藏内部网络结构,一定程度上防止网络攻击。在进行NAT时,如果是一个地址到一个地址的转换,称为一对一模式;如果是 一个网段地址到一个地址的转换,称为多对一的转换;这个在我们的办公室内网比较多见。如果是一个网段地址到一个网段地址的转换,称为多对多的转换,比方说 你有多个公网IP,那么数据出去的时候,会找一个连接比较少的IP转换,这样可以从一定程度上起到均衡负载的作用。
上面的转换,端口都是随机的,而如果要将内网的一台服务器对外开放,就需要做端口映射了。即将访问外网IP的指定端口的数据包转发给我们需要开放的服务器上,这就是静态NAT了。
NAT从另一个角度也可分为静态和动态两种,静态方式是明确指定了转换前后的地址和端口的情况,可以有一对一、一对多、多对一等方式,如果实际地址发生变 化,NAT规则必须相应改变;而动态方式也就是IP伪装方式,是一种多到一的源NAT转换模式,一般只需指定转换前的地址,转换后地址则是防火墙的IP地 址,此地址是可以动态改变的,而NAT规则可以不变。静态NAT一般用在防火墙IP地址都是固定的情况,而动态NAT用于防火墙IP地址不固定的场合,如 ADSL拨号。动态情况下也可以进行目的NAT,但NAT规则是在获取了地址后才起作用。
一般来说,源NAT多用于从内部网络到外部网络的访问,内部网络地址可以是保留IP地址;也可以是非保留地址。目的NAT多用于外部网络到内部服务器的访 问,内部服务器可使用保留IP地址。当使用透明代理模式时,由内到外的访问实际上是一种目的NAT,是将访问的目的IP和目的端口转换为代理服务器的IP 和代理端口。
使用目的NAT功能时可实现负载均衡(Load Balance,LB)功能,假设防火墙外网卡上有一个合法IP,内部有多个服务器同时提供服务,当将访问防火墙外网卡IP的访问请求转换为这一组内部服务器的IP地址时,访问请求就可以在这一组服务器进行均衡。
一般情况下的NAT或者修改源地址部分,或者修改目的地址部分,两者不同时修改。但在某些特殊情况下, 有同时需要修改源和目的的需求,一种情况是同网段VPN的实现,同一个包在本地网关处修改源地址,在对方网关处修改目的地址;第二种情况是服务器和内部机 器在相同的内部地址网段,但要求用服务器的外部合法地址访问服务器,即要将内部机器对防火墙外部地址的访问转为防火墙内部地址对服务器内部地址的访问,这 种情况需要在防火墙上同时修改数据包的源和目的地址部分。

原创:使用发声引擎(TTS)festival和espeak感受

闲来无事,在Archlinx下装了stardict发现有个喇叭图标可以用来朗读单词,但是点击无声,原来stardict使用festival --tts朗读单词,于是安装了festival,stardict终于可以发生了,然而festival貌似只有男声,而且不能朗读中文。festival朗读文件使用命令:

(附Archlinux下安装使用pacman -S festival espeak)

festival --tts 文件名

在网上搜索了一下发现espeak可以朗读中文,安装了espeak,espeak使用方法:

朗读句子:

espeak -vzh “hello world”
espeak -vzh “你好”

其中-vzh是汉语支持

朗读文件:

espeak -vzh+m2 -s 100 -f 文件名

其中+m2是使用第二种男声发音,类似的+f2是使用第二种女声发音,-s是语速

festival发生中规中距,个人感觉比espeak要流畅,不过espeak可以支持中文,但是听起来怪怪的。

在网上搜了一个,使用espeak发声的c语言例子,贴上来,有空试试看

code:
#include <espeak/speak_lib.h> // 包括espeak的头文件
#include <string.h>
#include <unistd.h>

int main(int argc, char **argv)
{
char word[] = "微软的windows是大坏蛋";
espeak_Initialize(AUDIO_OUTPUT_PLAYBACK, 0, NULL, 0); // 初始化
espeak_SetVoiceByName("zh+f2"); // 设置音源为中文女声
espeak_Synth(word, strlen(word) + 1, 0, POS_CHARACTER, 0,
espeakCHARS_UTF8, NULL, NULL); // 发音,这里使用的是UTF8编码,我的系统用的是GB2312编码,中文发声混乱(说点微软的坏话还真难阿),改天把系统编码改成UTF8再试试看
sleep(3); // 等一段时间,否则程序会立即退出,听不到发音,时间一定要足够长,不然读到一半程序就退出了
espeak_Terminate(); // 回收资源
}

编译采用:g++ test1.c -o test1 -lespeak

Archlinux下的一些游戏

Archlinux下的游戏源,在pacman.conf中加入
[arch-games]
# The Arch Linux Gaming repository project
Server = http://arch.twilightlair.net/games/i686
Server = http://pseudoform.org/arch-games/games/i686
然后用pacman -Syn更新
用pacman -Sl arch-games查看游戏

前一陣子看到前十大 Linux 的免費遊戲
http://techgage.com/article/top_10_free_linux_games
Linux 下的幾個游戲模擬器
http://linuxtoy.org/archives/game_emula ... linux.html

Ubuntu Linux遊戲簡介
安裝方法:在桌面工具列上依序點擊:應用程式-->添加和刪除
勾選"顯示不支援的應用程式","顯示商業應用程式"兩個選項來選擇顯示不同授權的軟體
切換到遊戲欄位勾選添加

21點:2D常玩的21點撲克牌遊戲
Abuse:2D橫向捲軸遊戲,類似洛克人,敵人是異形
Airstrike:2D橫向飛機射擊遊戲,似乎是要擊落氣球氣艇
AisleRiot 接龍遊戲:2D常見的接龍撲克牌遊戲
Anagramarama:2D似乎是英文拼字遊戲
Arkhart:3D第一人稱遊戲,似乎是跟巨大螞蟻有關的遊戲
Armagetron:3D有點像貪食蛇的遊戲,有競爭對手
Ataxx:2D常見的黑白棋遊戲
Atlantik 大富翁:2D似乎是大富翁連線遊戲
Tuxkart:3D企鵝賽車遊戲
安裝方法:(在終端機中鍵入或複製貼上以下指令)
sudo apt-get install tuxkart
執行方法:(在終端機中鍵入或複製貼上以下指令)
tuxkart

FooBillard:3D撞球遊戲
安裝方法:(在終端機中鍵入或複製貼上以下指令)
sudo apt-get install foobillard
執行方法:(在終端機中鍵入或複製貼上以下指令)
foobillard
Atlantik 設計者:2D似乎是設計桌上遊戲的工具軟體
Atomix:2D類似倉庫番的遊戲,不過是移動棋子
Barrage:2D砲彈投射的遊戲,攻擊敵方軍隊
Battle for Wesnoth:2D棋盤式的RPG勇者遊戲
Billard-GL:3D撞球遊戲
Briquolo:3D打磚塊遊戲
Bug Squish:2D用拍子打各種蟲蟲
bzflag:3D線上坦克大戰
Chromium:3D飛機射擊遊戲,類似雷電
Craft:2D類似魔獸爭霸的遊戲,畫面很簡單
Dopewars:2D似乎是文字介面的經營遊戲
Droidbattles:2D飛機空戰遊戲,要自己寫行為模式
Egoboo:3D第一人稱動作冒險打鬥遊戲
Emilia Pinball:3D彈珠台遊戲,畫面顯示似乎有點問題
Enigma:2D用球敲擊磚塊產生變化的遊戲
Epiphany:2D類似倉庫番的遊戲,一個人在畫面中找尋各種出路
Falcon's Eye:2D探險遊戲,似乎是在夢境中
Fish Fillets:2D兩隻魚兒在水中向外探險的遊戲
FreeCell 紙牌接龍遊戲:2D常見的接龍撲克牌遊戲
Freeciv:2D棋盤式戰爭策略模擬遊戲
Frozen-Bubble:2D泡泡龍方塊連結遊戲
blobwars: 2D的射擊遊戲,畫面跟音效都很棒,只是要過關技術要很好。
supertux: 2D超級瑪莉企鵝版,把他當成超級瑪莉玩就對了。
Planet Penguin Racer:3D的滑雪遊戲,顯示卡可要夠好才行喔。
Freeciv是以文明帝國二為基礎了
clone遊戲

幾乎和文明帝國非常相像

官方網址在這裡

http://www.freeciv.org/index.php/Freeciv

成熟度相當高

值得推薦
Savage
一個即時戰略+類似CS的網路遊戲
這是官方網站

http://www.s2games.com/savage/

安裝方法

http://www.evolvedclan.com/forums/index ... 259.0.html
下載

http://www.evolvedserver.com/downloads/ ... _sep3t.run

建議用一般用戶安裝,安裝玩後要把 ~/Savage/game/startup.cfg
這個檔案殺掉

然後就可以玩了~
stepmania(超完美的跳舞機軟體)和xmoto(賽車...自虐遊戲 XD)都不錯 :)
不過stepmania要去官方抓才行~ 其他兩個apt庫應該都有~ 不過要找一下源就是了~

Stepmania
http://www.stepmania.com/

自我連結 : 介紹
http://catz.no-ip.com/blogs/eureka/?p=127

http://catz.no-ip.com/blogs/eureka/?p=128

X-Moto

http://xmoto.sourceforge.net/

自我連結 : 介紹

http://catz.no-ip.com/blogs/eureka/?p=344

O~ 對了~ 還有一個~

rroot~ 找不到介紹頁^^"~ ubuntu的apt源內有~ 超棒的3D彈幕遊戲~

Linux下通过连接手机上网

前些时候用3G上网卡在linux下通过gnome-ppp成功上网,今天实验了一下通过连接普通手机上网的方法,当然还是要使用gnome-ppp,我的系统是Archlinux。方法如下:

1 连接手机到linux系统的电脑,我用的是Nokia6300,使用usb数据线连接,在手机上选择诺基亚模式
2 启动终端,以root用户运行gnome-ppp
3在gome-ppp中, 用户名密码均为wap,在phone number中填写:*9***1#

(我是移动用户,联通用户可能使用的是其他号码,请咨询联通客服),点击 setup,使用Detect自动搜索modem,搜索到后,即可点击Connect进行连接了

注意:移动很黑、资费很贵,可别弄得倾家当产了

Linux 使用代理上网

可以在.profile中设置环境变量

# 分别指定http、https、ftp协议使用的代理服务器地址http_proxy=208.67.222.222:3128
https_proxy=208.67.222.222:3128
ftp_proxy=208.67.222.222:3128
no_proxy=192.168.20.

# 访问局域网地址(192.168.20.0/24网段)时不使用代理,可以用逗号分隔多个地址
export http_proxy https_proxy ftp_proxy no_proxy

使用socket代理需要安装tsocks,安装后,进行配置

编辑/etc /tsocks.conf文件,注意修改下面4行:

local = 192.168.1.0/255.255.255.0 //本地不使用代理

server = 192.168.1.1 //代理ip

server_port = 1080 //端口

server_type = 5 //socks 4 or 5

保存之后,以tsocks 开头执行网络命令,如:

tsocks wget

ArchLinux以及Ubuntu下使用OpenCV2编译程序的注意事项

我的系统是Archlinux,更新系统后发现,使用opencv库函数,编译总是出错,连以前的程序都不能编译了,查看了一下安装的opencv,发现原来opencv已经被更新到新版本opencv2的缘故,用以前编译opencv1的方法编译程序,是行不通的,会找不到链接库,解决方法如下(以root权限,Ubuntu系统也适用):

1. 在 /etc/ld.so.conf 中加入:

/usr/local/lib

注意:Ubuntu需要该步骤,因为opencv2的库函数被安装到了/usr/local/lib下面。Archlinux貌似不需要该步骤,opencv2的库函数在Archlinux下被安装到了/usr/lib下,Archlinux中ldconfig的使用说明中介绍说,ldconfig默认会查找/etc/lib目录下面的库的,如果在Arclinux下缺省了该步骤发现不能不能编译,不妨加入/usr/lib试试看

2. 运行ldconfig,配置并缓冲一下链接库

3 编译程序的时候采用:
gcc `pkg-config opencv --cflags --libs` -o test test.c,注意:符号“ ` ”是Esc下面的那个符号,不是回车边上的“ ' “,cflags 和 libs前面是两个减号"-"。


Archlinux三维桌面

安装compiz-fusion

然后在gnome(kde,xfce下)使用命令fusion-icon启动三维桌面

启动后工具栏出现一个带箭头的图标,右键点击,设置window manager为compiz,设置后可能会出现桌面上的窗口标题栏、工具条丢失,或者窗口无法移动的情况(我以前在Freebsd下也遇到类似的情况,以为程序有错误),

右键点击上文那个图标,选择setting manaer,在window management中选择:

move window(没这个就不能移动窗口), place window, resize window, put等选项

Effect中选:

3D window, window decoration(没这个就没窗口标题栏了), cube gears, wobbly windows等效果

在genaeral中选择:

gnome compatiblity(要使用kde就选kde compatibility)

然后就可以玩三维桌面了

ctrl+alt+Left(Right)旋转桌面

还可以安装emerald,里面有一大堆桌面主题可公选择

体验:Archlinux使用华为EC2161天翼3G上网卡的方法

首先安装自带的软件,注意,插入上网卡后,卡内自带的闪存会自动是别为光驱,但是,使用自带的软件连不上网络

安装gnome-ppp,使用它可以正常连接网络(用root启动该软件)

设置:

自动搜索Modem

速率460800

拨号:#777

用户:ctnet@mycdma.cn

密码:vnet.mobi

此外,如果使用usb连接线将普通手机(我的是Nokia)连接到电脑,也可以通过gnome-ppp拨号上网,modem一项要自动搜索(如果能搜到,则说明系统支持该型号手机,没搜到就放弃吧),拨号:*99***1#

用户名和密码同上(貌似随便写都行)

第 5 页,共 6 页« 最新...23456