Ubuntu VPS上安装 xfce 和 vnc

1. 安装显示系统 x11,命令:

root@xiaokyun:~#apt-get install xorg

这一步要安装包的大小大约是 20 来 M,如果是美国的服务器,可以眼争争的看着它完成,很快的。完了我们就有了 X11 了。

2. 安装桌面支持,Linux 著名的桌面系统有 gnome 和 KDE,还有轻量级的 xfce4,由于实际网络及系统的条件,我这里选择安装 xfce4,命令:

root@xiaokyun:~#apt-get install xfce4

这一步安装包大小 200 来 M,对于每秒 10 几 M 的下载速度可能还不够你上个小 WC,安装之前你会看到一堆东西要安装,都要安装了。

3. 现在可以安装 vnc 服务端,命令:

root@xiaokyun:~#apt-get install vnc4server

4. 现在你可以执行 vnc 服务端了,可以直接执行

root@xiaokyun:~# vncserver

现在还用不着急着去用 -geometry 1024X768 -depth 16 去指定显示分辨率和颜色深度。执行 vncserver 后正常的话会提示你输入两篇连接密码,成功的话能够看到类似的信息:

New ‘xiaokyun:1 (root)’ desktop is xiaokyun:1
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/xiaokyun:1.log

5. 客户端连接,vnc 客户端很多种,我也是建议你用 TightVNC, 从 http://www.tightvnc.com/download.html 下载,您只需要在你的本地电脑上安装 vncview 组件。
打开 vncview,输入服务器的 ip地址:1,然后连接,按照提示输入刚刚设置的密码就可登陆。

vnc-client-login

OK,成功登陆了,可是你现在应该也只是能看到一个命令窗口,和 ssh 分别不那么大,对的,现在还是个 xterm+tvm,所以还有点工作要做.

burst-vnc1

6. 把原来的 vncserver 结束掉,修改下 /root/.vnc/xstartup 文件

root@xiaokyun:~#vncserver -kill :1 杀了刚刚启的 vncserver 进程

root@xiaokyun:~#vi /root/.vnc/xstartup 打开 /root/.vnc/xstartup 文件,里面的内容只需要下面两行,其他的可以注释掉:

#!/bin/sh
/usr/bin/startxfce4 &

本文原始链接 http://unmi.cc/vnc-burst-vps-ubuntu-xfce/, 来自 隔叶黄莺 Unmi Blog
保存该文件,由于 /usr/bin/startxce4 本身是可执行的,其实可不用 chmod +x 加执行权限

7. 现在再执行 vncserver 来启动 vnc 服务

root@xiaokyun:~#vncserver

现在再次用 vncviewer 来连接服务器,看到的就是真正的 xfce 界面了,速度基本还是能接受的。

vnc-ubuntu-xfce

其他一些内容,自己酌情而定了,有说要执行如下两命令:

apt-get install x-window-system-core 不知具体内情
apt-get install x11vnc 好像也用不着
apt-get install xdm 或说要安装这个,用于登陆界面

另外在启动 vncserver 时可以加一些启动选项,执行 vncserver –help 可以看到支持的选项:

root@xiaokyun:~# vncserver –help
VNC4 server
Usage: vncserver [] [:<DISPLAY#>]
vncserver -kill :<DISPLAY#>
are Xvnc4 options, or:

-name
-depth
-geometry x
-httpport number
-basehttpport number
-alwaysshared
-nevershared
-pixelformat rgb
-pixelformat bgr

See vnc4server and Xvnc4 manual pages for more information.

比如执行 vncserver -geometry 800×600 后,客户端连接后的分辨率就是 800×600,还有颜色深浅的设置等,默认是 1024×768。也能用 -httpport 设置 http 连接端口,用于客户端直接用浏览器 Applet 进行连接,如 http://ipaddress:5901。

对于 /root/.vnc/xstartup 文件的修改,有不同的意见是,只注释掉原始文件的 #x-window-manager& 行,最后加上:

x-sesion-manager & xfdesktop & xfce4-panel &
xfce4-menu-plugin &
xfsettingsd &
xfconfd &
xfwm4 &

保存它来作用到 vncserver。

有些地方提到的可定制启动 vncserver 的参数,CentOS 是在 /etc/sysconfig/vncservers 文件后加上:

VNCSERVERS="1:root"
VNCSERVERARGS[1]="-geometry 800×600"
如果想设置多个用户,可以用如下格式:
VNCSERVERS="1:one 2:two 3:three"
VNCSERVERARGS[1]="-geometry 800×600"
VNCSERVERARGS[2]="-geometry 800×600"
VNCSERVERARGS[3]="-geometry 800×600"

不知道 Ubuntu 的启动参数该加到哪个文件中,反正是找不到 /etc/sysconfi/vncservers 文件,会是 xstartup 文件吗?

原文链接:http://unmi.cc/vnc-burst-vps-ubuntu-xfce/

Installation Failed. The Google Chrome Installer failed to Start

1. Open registry editor by typing regedit in run command

2. Now navigate to HKEY_LOCAL_MACHINESOFTWARE GoogleUpdateClients on left pane, right click on key {430FD4D0-B729-4F61-AA34-91526481799D}’ and select Delete button.

3. Now navigate to HKEY_CURRENT_USERSOFTWARE GoogleUpdateClients, delete the key {430FD4D0-B729-4F61-AA34-91526481799D} and all its sub folders.

Google update directory registry entry thumb Fix to “ Installation Failed. The Google Chrome Installer failed to Start”

4 For 64-bit Windows, navigate to HKEY_LOCAL_MACHINESOFTWAREWow6432NodeGoogleUpdateClients and delete this key {430FD4D0-B729-4F61-AA34-91526481799D} and all its sub folders shown on right pane.

5. Now close Registry Editor and try to install Chrome again this time it will work as happened with me.

文章原文:http://techdows.com/2012/08/fix-to-installation-failed-the-google-chrome-installer-failed-to-start.html

新浪t.cn短网址接口(PHP)

使用前要先去申请API-KEY,或使用oAuth进行认证。
将长网址变为短网址的方法:

<?php
function shortenSinaUrl($long_url){
$apiKey=’API-KEY’;
$apiUrl=’http://api.t.sina.com.cn/short_url/shorten.json?source=’.$apiKey.’&url_long=’.$long_url;
$curlObj = curl_init();
curl_setopt($curlObj, CURLOPT_URL, $apiUrl);
curl_setopt($curlObj, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curlObj, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curlObj, CURLOPT_HEADER, 0);
curl_setopt($curlObj, CURLOPT_HTTPHEADER, array(‘Content-type:application/json’));
$response = curl_exec($curlObj);
curl_close($curlObj);
$json = json_decode($response);
return $json[0]->url_short;
}
?>

将短网址还原成长网址的方法:

<?php
function expandSinaUrl($short_url){
$apiKey=’API-KEY’;
$apiUrl=’http://api.t.sina.com.cn/short_url/expand.json?source=’.$apiKey.’&url_short=’.$short_url;
$curlObj = curl_init();
curl_setopt($curlObj, CURLOPT_URL, $apiUrl);
curl_setopt($curlObj, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curlObj, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curlObj, CURLOPT_HEADER, 0);
curl_setopt($curlObj, CURLOPT_HTTPHEADER, array(‘Content-type:application/json’));
$response = curl_exec($curlObj);
curl_close($curlObj);
$json = json_decode($response);
return $json[0]->url_long;
}
?>

更多具体使用方法,请参见:http://open.t.sina.com.cn/wiki/index.php/Short_url/expand

原文地址:http://www.biaodianfu.com/sina-shortener-url-api-php.html

Google短网址API(PHP版)

在使用前,请先到这里申请API Key:http://code.google.com/apis/console/
短网址的生成需要使用POST提交数据,所以使用了curl,短网址的还原可以直接使用file_get_contents()函数。不过为了统一,我也使用了curl来处理,现在感觉curl真的是非常有用,等有空对curl还要加大学习哈。

<?php
function shortenGoogleUrl($long_url){
$apiKey = ‘API-KEY’; //Get API key from : http://code.google.com/apis/console/
$postData = array(‘longUrl’ => $long_url, ‘key’ => $apiKey);
$jsonData = json_encode($postData);
$curlObj = curl_init();
curl_setopt($curlObj, CURLOPT_URL, ‘https://www.googleapis.com/urlshortener/v1/url’);
curl_setopt($curlObj, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curlObj, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curlObj, CURLOPT_HEADER, 0);
curl_setopt($curlObj, CURLOPT_HTTPHEADER, array(‘Content-type:application/json’));
curl_setopt($curlObj, CURLOPT_POST, 1);
curl_setopt($curlObj, CURLOPT_POSTFIELDS, $jsonData);
$response = curl_exec($curlObj);
curl_close($curlObj);
$json = json_decode($response);
return $json->id;
}
?>
<?php
function expandGoogleUrl($short_url){
$curlObj = curl_init();
curl_setopt($curlObj, CURLOPT_URL, ‘https://www.googleapis.com/urlshortener/v1/url?shortUrl=’.$short_url);
curl_setopt($curlObj, CURLOPT_HEADER, 0);
curl_setopt($curlObj, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curlObj, CURLOPT_SSL_VERIFYPEER, 0);
$response = curl_exec($curlObj);
curl_close($curlObj);
$json = json_decode($response);
return $json->longUrl;
}
?>

原文地址:http://www.biaodianfu.com/php-google-urlshortener-api.html

PHP中转换twitter链接

function twitterify($ret) {
$ret = preg_replace("#(^|[n ])([w]+?://[w]+[^ "nrt< ]*)#", "1<a href="2" target="_blank">2</a>", $ret);
$ret = preg_replace("#(^|[n ])((www|ftp).[^ "tnr< ]*)#", "1<a href="http://2" target="_blank">2</a>", $ret);
$ret = preg_replace("/@(w+)/", "<a href="http://www.twitter.com/1" target="_blank">@1</a>", $ret);
$ret = preg_replace("/#(w+)/", "<a href="http://twitter.com/search?q=1" target="_blank">#1</a>", $ret);
return $ret;
}