<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Fwolf's Blog &#187; shutdown - Fwolf's Blog</title>
	<atom:link href="http://www.fwolf.com/blog/post/tag/shutdown/feed" rel="self" type="application/rss+xml" />
	<link>http://www.fwolf.com/blog</link>
	<description>随心·随意·随缘·努力～</description>
	<lastBuildDate>Wed, 07 Jul 2010 07:07:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>VirtualBox的VRDP运行模式</title>
		<link>http://www.fwolf.com/blog/post/425</link>
		<comments>http://www.fwolf.com/blog/post/425#comments</comments>
		<pubDate>Tue, 24 Mar 2009 10:53:02 +0000</pubDate>
		<dc:creator>Fwolf</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[rc]]></category>
		<category><![CDATA[shutdown]]></category>
		<category><![CDATA[virtualbox]]></category>
		<category><![CDATA[VRDP]]></category>

		<guid isPermaLink="false">http://www.fwolf.com/blog/post/425</guid>
		<description><![CDATA[其实没什么深奥的，所谓VRDP运行模式，就是虚拟机运行的时候，没有图形窗口，但可以用VirtualBox的RDP模式远程管理，说是远程其实在本机上用很方便，用起来和windows下的远程桌面一样。如果虚拟机上安装了vncserver之类的远程控制软件，并且从主机上能够通过tcp访问，也一样可以管理的。 我使用的是非开源的VirtualBox，开源版本少一些功能。以下操作在windows下也是可以参照使用的。 启动VM的命令：/usr/bin/VBoxManage startvm WinXP -type vrdp，默认是-type gui即以图形界面启动虚拟机。 控制VM比如保存状态关闭的命令：/usr/bin/VBoxManage controlvm WinXP savestate。 以上命令中WinXP是虚拟机的名称，也可以用uuid替代。 开启VRDP后远程控制端口默认是3389，默认认证方式是null，即无认证，任何人都可以连接上随意控制，放在网络环境下是很不安全的。还有一种认证方式是external，可以使用主机上的用户机制来认证，不过使用之前要稍微作一下设置： cd /lib sudo ln -s libpam.so.0 libpam.so 不然认证无法进行，连接闪一下就关闭了。远程桌面的客户端在gnome中可以用Terminal Server Client(tsclient)或者rdesktop-vrdp -u fwolf -p - localhost。 要想随重启或者关机自动关闭虚拟机，要稍微麻烦一些了，首先在/etc/init.d/下创建一个文件fwolfrc： #! /bin/sh # Using LSB funtions: . /lib/lsb/init-functions set -e PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DESC="Fwolf's Init" NAME=fwolfrc SCRIPTNAME=/etc/init.d/$NAME # Function that starts the daemon/service. d_start() { touch /var/lock/subsys/$NAME [...]]]></description>
			<content:encoded><![CDATA[<p>其实没什么深奥的，所谓VRDP运行模式，就是虚拟机运行的时候，没有图形窗口，但可以用VirtualBox的RDP模式远程管理，说是远程其实在本机上用很方便，用起来和windows下的远程桌面一样。如果虚拟机上安装了vncserver之类的远程控制软件，并且从主机上能够通过tcp访问，也一样可以管理的。</p>

<p>我使用的是非开源的VirtualBox，开源版本少一些功能。以下操作在windows下也是可以参照使用的。</p>

<p>启动VM的命令：<code>/usr/bin/VBoxManage startvm WinXP -type vrdp</code>，默认是<code>-type gui</code>即以图形界面启动虚拟机。</p>

<p>控制VM比如保存状态关闭的命令：<code>/usr/bin/VBoxManage controlvm WinXP savestate</code>。</p>

<p>以上命令中<code>WinXP</code>是虚拟机的名称，也可以用uuid替代。</p>

<p>开启VRDP后远程控制端口默认是3389，默认认证方式是<code>null</code>，即无认证，任何人都可以连接上随意控制，放在网络环境下是很不安全的。还有一种认证方式是<code>external</code>，可以使用主机上的用户机制来认证，不过使用之前要稍微作一下设置：</p>

<pre><code>cd /lib
sudo ln -s libpam.so.0 libpam.so
</code></pre>

<p>不然认证无法进行，连接闪一下就关闭了。远程桌面的客户端在gnome中可以用<code>Terminal Server Client(tsclient)</code>或者<code>rdesktop-vrdp -u fwolf -p - localhost</code>。</p>

<p>要想随重启或者关机自动关闭虚拟机，要稍微麻烦一些了，首先在<code>/etc/init.d/</code>下创建一个文件<code>fwolfrc</code>：</p>

<pre><code>#! /bin/sh 
# Using LSB funtions:
. /lib/lsb/init-functions
set -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="Fwolf's Init"
NAME=fwolfrc
SCRIPTNAME=/etc/init.d/$NAME

# Function that starts the daemon/service.
d_start() {
    touch /var/lock/subsys/$NAME
    log_daemon_msg "Starting $DESC" "$NAME"
}

# Function that stops the daemon/service.
d_stop() {
    su -c "/usr/bin/VBoxManage controlvm WinXP savestate" fwolf
    rm /var/lock/subsys/$NAME
}

# Function that sends a SIGHUP to the daemon/service.
case "$1" in
  start)
        d_start
    ;;
  stop)
        d_stop
    ;;
  *)
    log_warning_msg "Usage: $SCRIPTNAME {start|stop}" &gt;&amp;2
    exit 3
    ;;
esac

exit 0
</code></pre>

<p>我也是直接从<code>/etc/init.d/</code>里套过来修改的，详细信息可以看参考文章或者其它关于关机自动执行脚本的资料。然后把这个文件ln为以下几个：</p>

<ul>
<li>/etc/rc0.d/K01fwolfrc</li>
<li>/etc/rc6.d/K01fwolfrc</li>
<li>/etc/rc3.d/S99fwolfrc</li>
<li>/etc/rc5.d/S99fwolfrc</li>
</ul>

<p>可以看到开机时是最后执行，而关机时是最先执行。注意我上面的脚本里，在开机是并没有自动启动虚拟机，习惯手工开。</p>

<h4>参考</h4>

<ul>
<li><a href="http://forums.virtualbox.org/viewtopic.php?t=5264">VRDP and PAM authentication</a></li>
<li><a href="http://www.linuxidc.com/Linux/2007-06/4892.htm">实现linux在关机或重启时自动执行某个任务</a></li>
</ul>

	Tags: <a href="http://www.fwolf.com/blog/post/tag/linux" title="Linux" rel="tag">Linux</a>, <a href="http://www.fwolf.com/blog/post/tag/rc" title="rc" rel="tag">rc</a>, <a href="http://www.fwolf.com/blog/post/tag/shutdown" title="shutdown" rel="tag">shutdown</a>, <a href="http://www.fwolf.com/blog/post/tag/virtualbox" title="virtualbox" rel="tag">virtualbox</a>, <a href="http://www.fwolf.com/blog/post/tag/vrdp" title="VRDP" rel="tag">VRDP</a><br />

	<h4>Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.fwolf.com/blog/post/392" title="virtualbox连接usb设备 (2008-03-27)">virtualbox连接usb设备</a> (0)</li>
	<li><a href="http://www.fwolf.com/blog/post/406" title="麻烦一连串儿 (2008-06-23)">麻烦一连串儿</a> (8)</li>
	<li><a href="http://www.fwolf.com/blog/post/279" title="配置ssh的自动登录 (2007-01-05)">配置ssh的自动登录</a> (12)</li>
	<li><a href="http://www.fwolf.com/blog/post/400" title="选择Eclipse PHP Development Tools(PDT)作为PHP开发工具 (2008-05-03)">选择Eclipse PHP Development Tools(PDT)作为PHP开发工具</a> (8)</li>
	<li><a href="http://www.fwolf.com/blog/post/410" title="用ssh打通反向隧道，内网也可对外提供服务 (2008-07-10)">用ssh打通反向隧道，内网也可对外提供服务</a> (2)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.fwolf.com/blog/post/425/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
