配置Ubuntu
您将对Ubuntu的配置做某些微小更改以便远程管理MH BOX和安装Misterhouse正常运行所需的必要的软件模块。首先要进行系统升级。因为系统提供的欧洲源更新实在是太慢了!更换源是为了节省时间,尽快得将系统更新一遍。安装完系统后这是重要的一个环节用您在操作系统安装过程中创建的用户在登录。
拷贝 old sources.list 文件
[email protected]_server:/# sudo cp /etc/apt/sources.list /etc/apt/sources.list.old
编辑old sources.list 文件
[email protected]_server:/# sudo nano /etc/apt/sources.list
把内容替换为下面的文本
deb http://debian.ustc.edu.cn/ubuntu/ hardy main multiverse restricted universe deb http://debian.ustc.edu.cn/ubuntu/ hardy-backports main multiverse restricted universe deb http://debian.ustc.edu.cn/ubuntu/ hardy-proposed main multiverse restricted universe deb http://debian.ustc.edu.cn/ubuntu/ hardy-security main multiverse restricted universe deb http://debian.ustc.edu.cn/ubuntu/ hardy-updates main multiverse restricted universe deb-src http://debian.ustc.edu.cn/ubuntu/ hardy main multiverse restricted universe deb-src http://debian.ustc.edu.cn/ubuntu/ hardy-backports main multiverse restricted universe deb-src http://debian.ustc.edu.cn/ubuntu/ hardy-proposed main multiverse restricted universe deb-src http://debian.ustc.edu.cn/ubuntu/ hardy-security main multiverse restricted universe deb-src http://debian.ustc.edu.cn/ubuntu/ hardy-updates main multiverse restricted universe deb http://mirror.bjtu.edu.cn/Ubuntu/ hardy main restricted universe multiverse deb http://mirror.bjtu.edu.cn/Ubuntu/ hardy-backports restricted universe multiverse deb http://mirror.bjtu.edu.cn/Ubuntu/ hardy-proposed main restricted universe multiverse deb http://mirror.bjtu.edu.cn/Ubuntu/ hardy-security main restricted universe multiverse deb http://mirror.bjtu.edu.cn/Ubuntu/ hardy-updates main restricted universe multiverse deb-src http://mirror.bjtu.edu.cn/Ubuntu/ hardy main restricted universe multiverse deb-src http://mirror.bjtu.edu.cn/Ubuntu/ hardy-backports main restricted universe multiverse deb-src http://mirror.bjtu.edu.cn/Ubuntu/ hardy-proposed main restricted universe multiverse deb-src http://mirror.bjtu.edu.cn/Ubuntu/ hardy-security main restricted universe multiverse deb-src http://mirror.bjtu.edu.cn/Ubuntu/ hardy-updates main restricted universe multiverse
请仔细检查上述内容,或用剪切并粘贴,保存使用 Ctrl + X 和ENTER。
发出以下命令,以更改的sources.list 文件获取更新:
[email protected]_server:/# sudo apt-get update
所有你按改变后的Ubuntu 服务器的地址,去寻找我们将要安装的额外软件包。
[email protected]_server:/# sudo apt-get upgrade
这将为 Ubuntu 下载任何 OS 修补程序,并带来最新的系统。
设置静态IP地址
已经通过 DHCP 网络配置您的计算机,但为了远程访问 MisterHouse,需要给计算机设置静态IP地址。
验证计算机的主机名:
[email protected]_server:/# sudo nano /etc/hostname
它应该有一行,其中包含您在安装 Ubuntu 时你指派给该计算机的名称。下一步,看看会告诉计算机在何处查找的域名服务器 (dns) 的文件:
[email protected]_server:/# sudo nano /etc/resolv.conf
此文件应包含类似于以下内容:
search localdomain nameserver xx.xx.xx.xx nameserver xx.xx.xx.xx
其中所示的 IP 地址匹配 (可能是您的防火墙或路由器) 您主 DNS 和次要 DNS (在我的案子之一,由我的 ISP 提供)。如果您在网络上安装 Ubuntu 与启用 DHCP,它将填充此文件的正确值,你不应该更改它。
下一步你将需要编辑要添加的静态 ip 地址的"界面"文件:
[email protected]_server:/# sudo nano /etc/network/interfaces
Find the following lines
# The primary network interface auto eth0 iface eth0 inet dhcp
并修改它们,如下所示:
# The primary network interface auto eth0 iface eth0 inet static address [ip address for the mh server] netmask 255.255.255.0 gateway [ip address of the gateway]
现在重新启动计算机,以root身份登录并输入:
[email protected]_server:/# ifconfig
若要更改正确完成。它将返回类似以下内容的:
eth0 Link encap:Ethernet HWaddr 00:F0:B7:D3:11:23 inet addr:192.168.1.123 Bcast:192.168.1.255 Mask:255.255.255.0
设置专门misterhouse的用户目录
当你第一次安装 Ubuntu 您设置了主用户 (我称为此用户"admin")。现在你要创建运行 mh的用户。此用户被称为"mh"。
创建用于 misterhouse 的目录:
[email protected]_server:/# sudo mkdir /opt/misterhouse [email protected]_server:/# sudo mkdir /opt/misterhouse/code [email protected]_server:/# sudo mkdir /opt/misterhouse/data [email protected]_server:/# sudo mkdir /opt/misterhouse/sound
创建”mh”用户和组:
[email protected]_server:/# sudo groupadd mh [email protected]_server:/# sudo useradd -d /opt/misterhouse -c MisterHouse -g mh -p [password of your choice] mh
Mh 用户将需要的音频设备和串行端口的访问权限。通过将"mh"用户添加到拨出组和音频组执行此操作:
[email protected]_server:/# sudo usermod -G mh,dialout,audio mh
下载安装必要的包
在此步骤中,您将安装misterhouse几个必须的模块。
Install Perl
[email protected]_server:/# sudo apt-get install perl perl-doc
Install Build Essential Package (CPAN won‘t work without this)
[email protected]_server:/# sudo apt-get install build-essential
Install Festival (text to speech)
[email protected]_server:/# sudo apt-get install festival
Install rcconf (used to set up scripts to run at boot time)
[email protected]_server:/# sudo apt-get install rcconf
Install Perl Modules
[email protected]_server:/# sudo apt-get install libdb3 <--- this module may no longer be in the repo, use the -dev below instead [email protected]_server:/# sudo apt-get install libdb3-dev [email protected]_server:/# sudo apt-get install libdb-file-lock-perl [email protected]_server:/# sudo apt-get install libberkeleydb-perl [email protected]_server:/# sudo apt-get install libterm-readkey-perl [email protected]_server:/# sudo apt-get install libtime-hires-perl [email protected]_server:/# sudo apt-get install libaudio-mixer-perl [email protected]_server:/# sudo apt-get install libtext-levenshteinxs-perl [email protected]_server:/# sudo apt-get install libdbi-perl
Install GD
[email protected]_server:/# sudo apt-get install libgd-gd2-perl
你现在已经安装所有需要的Perl 模块和软件包。
下载安装 Misterhouse
Misterhouse 的最新版本是 github 上的。它通常是使用 git 工具来访问。这对初学者比较复杂。更容易的方法是直接访问misterhouse 官网http://misterhouse.wikispaces.com/,下载zip文件到”mh”用户的主文件夹中,注意不要存到“下载”文件夹中,因为涉及中文,后续不好处理;这样,zip文件就存在/home/mh目录下。直接解压缩,形成misterhouse文件夹。
方法一
第一步:打开终端,在命令行里输入sudo nautilus
第二步:输入你的用户的密码
第三步:在弹出的窗口中打开需要操作的目录
第四步:把你所需要的其他目录中的文件进行复制,并且粘贴到当前的这个目录中
或者:也可以在当前目录窗口中删掉不想要的文件
用sudo 后面接你要执行的命令
方法二:
使sudo命令,获得临时管理员的权限
如要复制/home/aaa.txt 到/opt目录,执行一下命令:
sudo cp /home/aaa.txt /opt
然后会提示你输入管理员密码,(注意在终端输入密码是没有回馈的,就是你输入后没有反应,不回出现****),其他命令也是一个道理
打开终端
[email protected]_server:/# cd /opt/misterhouse [email protected]_server:/# sudo apt-get install unzip [email protected]_server:/# sudo unzip misterhouse-v2.200.zip [email protected]_server:/# sudo mv misterhouse-master mh [email protected]_server:/# sudo rm misterhouse-v2.200.zip
最后形成如下的文件结构:
/opt/misterhouse |
|||
mh.private.ini |
<- your custom mh settings file |
||
/code |
<- your code directory |
||
/data |
<- your data directory |
||
/logs |
<- your log files, lists of what MH has been up to, mostly for debugging |
||
/sounds |
<- your sounds dir (if you need them) |
||
/mh |
<- the production mh code directory - MH runs from here |
||
/bin |
<- MH production binaries |
||
/code |
<- MH production code |
||
/data |
<- MH production data |
||
/docs |
<- MH help documents |
||
/lib |
<- MH production libraries |
||
/sounds |
<- MH production sounds |
||
/web |
<- MH production web interface |
||
/mh-old |
<- when you upgrade, rename mh folder above - this folder is ignored by mh at runtime |
||
/bin |
but allows you to revert in case of any issues with the new version (rare) |
||
/code |
|||
/data |
|||
/docs |
|||
/libs |
|||
/sounds |
|||
web |
|||
Convert Headers
存在在其他的事物中与 Misterhouse相关的脚本,将某些头文件从 C 转换为 Perl。mh 网站上的安装说明让你要调用此脚本,称为"配置",你可以在/opt/mh/bin 目录中发现 (假设您已经如上文所述安装)。对 Ubuntu,此脚本无法正常工作因为它试图将转换后的头放在一个不存在的目录中。此外大部分的所需的头文件已经以.ph 形式存在除了这些例外情况:
termios.ph
bits/termios.ph
linux/stddefs.ph (see note below)
linux/compiler.ph
Convert these files using the program h2ph:
[email protected]_server:/# cd /usr/include [email protected]_server:/# h2ph termios.h [email protected]_server:/# h2ph bits/termios.h [email protected]_server:/# h2ph linux/compiler.h
注: 我找不到的头文件 linux/stddefs.h 或 linux/stddefs.ph 任意位置。我没有转换此标头,到目前为止看不到任何不良影响。在邮件列表中的查询似乎表明其他用户也没有此文件,它已不是一个问题。
Clean Up
Misterhouse自带的一个脚本(opt/misterhouse/mh/bin/configure) 我们上面做的这些头文件转换。在此脚本中用 h2ph 命令遇到一些麻烦,该命令试图将文件放在一个不存在的目录。因此,我在上一步中手动转换了那些没以.ph 格式存在头文件。在配置脚本中有一些我们想做的事情,就是清理一些不用得文件。下面是修改后的脚本:
Open an empty file called ‘ubuntu_configure‘:
打开一个空文件,命名“ubuntu_configure”:
[email protected]_server:/# sudo nano /opt/misterhouse/mh/bin/ubuntu_configure
The copy-paste the following text:
复制粘贴下面的文本
#!/bin/sh
echo
#Deleting Windows-only files...
curdir=`pwd`
cd /opt/misterhouse/mh/bin
rm -f RasDial.txt rasdial.*
rm -f *.bat *.exe *.EXE *.wbt
rm -rf ../lib/site/Win32*
rm -rf ../lib/site/auto/Win32*
rm -rf ../lib/site_win*
#Making scripts executable
chmod +x *
cd $curdir
保存文件,退出,并使其可执行文件:
[email protected]_server:/# sudo chmod +x /opt/misterhouse/mh/bin/ubuntu_configure
然后运行它:
[email protected]_server:/# sudo /opt/misterhouse/mh/bin/ubuntu_configure
Configure MisterHouse
在启动Misterhouse前,要进行必要的配置与设置。
Set up directories for local code
建立自己的目录存放自己的配置文件、自定义代码等。这样,当升级到新版本的misterhouse,你可以简单地替换所有文件的MH目录下文件,而不会失去你的定制设置。
Create these directories:
[email protected]_server:/# sudo mkdir /opt/misterhouse/code [email protected]_server:/# sudo mkdir /opt/misterhouse/data [email protected]_server:/# sudo mkdir /opt/misterhouse/sounds
复制MH配置示例文件并把它放在misterhouse目录下。你可以定制配置文件以代替发行版本自带的这个文件。misterhouse将首先使用bin/mh.ini中的缺省值然后是mh.private.ini文件中重写那些参数。
[email protected]_server:/#sudo cp/opt/misterhouse/mh/bin/mh.example.ini /opt/misterhouse/mh.private.ini
Edit your local config file:
编辑您的本地配置文件:
[email protected]_server:/# sudo nano /opt/misterhouse/mh.private.ini
At a minimum you should specify the following parameters:
至少,您应指定以下参数
code_dir = /opt/misterhouse/code
data_dir = /opt/misterhouse/data
sound_dir = /opt/misterhouse/sounds
tk =0
sound_program = aplay
voice_text = festival # Default Voice synthesis engine
Save and exit this file.
保存并退出此文件。
Move all of the test code to your local directory:
将所有的测试代码移动到您的本地目录
[email protected]_server:/# sudo mv /opt/misterhouse/mh/code/test/* /opt/misterhouse/code
Change File Owner
让用户“mh”,可以访问并运行misterhouse:
[email protected]_server:/# sudo achown -R mh:mh /opt/misterhouse
Test Misterhouse
此时,您应该能够测试您的安装,以确保一切工作正常。
[email protected]_server:/# su mh [email protected]_server:/# export mh_parms=/opt/misterhouse/mh.private.ini [email protected]_server:/# /opt/misterhouse/mh/bin/mh
你可能会看到一些杂项错误上 Misterhouse 启动但没有什么致命。如果您在客户端计算机上打开 web 浏览器和它指向 http:[mh_server ip 地址] //:8080 你应该看看 misterhouse 页。一旦你感到满意事情基本上工作的你可以停止与 Ctrl + C 在终端程序。