注:自己曾经尝试过很多次使用VNC远程登录odroid-XU4的开发板,但是连接后均显示未解码的连接,刚开始烧写的是odroid官方的ubuntu系统,我靠,就是因为烧写了这个坑爹的系统,害的自己弄了一星期都没解决远程登录跟直接用显示器显示的问题。有些linux系统是没有图形界面的,只有终端界面,因为图形界面比较耗费cpu资源,占用内存。

后来由于使用putty不能登录ssh时,被迫重装系统,幸好自己看了下官网的一些非官方的系统介绍,其介绍的很好,其网站为:odroidbian系统,后来就下载了相应的XU4开发板的镜像,烧进去后,接着使用IP地址通过putty来进行登录终端,首先要更新系统,

使用指令为:

sudo apt-get update

不更新的话会出现, Unable to locate package错误,为什么要更新?因为更新就是为了获的最新的资源地址,然后才可以在这地址里下载最新的资源。然后就安装vnc,接着开启vnc桌面1服务,注意在这个过程没配置其他任何文件,不像网上说的要配置/etc/.vnc/xstartup.然后直接在Windows里使用vnc进行登录,结果就一下子又桌面了,图如下:



所以,我得出了为什么我前面使用vnc登录时会出现灰色桌面,原因就是跟系统有关系,可能烧写的ubuntu镜像是没有桌面环境的,或者其桌面环境是3D桌面环境(VNC是无法解码这种桌面环境的,其就会出现灰屏)这个就是为什么我后来在安装了Xfce4桌面环境(2D桌面环境)后就可以使用vnc登录ubuntu桌面的原因。网上那些很快就可以VNC登录桌面环境的人,是因为他们刚刚好安装的不是ubuntu系统。我在台式机上也测试过,像gnome、gnome-classic等桌面环境是不能使用VNc登录的,你配置了xstartup文件也没用,照样灰屏,因为他们是3D桌面环境,VNC是无法解码的,要成功的话,必须使用XFCe4桌面环境,可以根据我下面的教程来安装和配置一下xstartup文件。




通常我们都使用putty、secureCRT等软件来远程登录linux系统,但这些软件仅提供字符终端界面,若要像windows的远程桌面连接那样登录linux的图形界面,我们可以使用VNC这类的软件。

VNC基本上是属于一种显示系统,也就是说他能将完整的窗口界面通过网络,传输到另一台计算机的屏幕上.

vnc包括客户端和服务器端,这里我们在linux中安装vnc-server,在windows下运行vnc-client去连接linux图形界面:

1.ubuntu下安装服务器端:$sudo apt-get install vnc4server

如果不知道该装什么软件包,可用vnc-server来查询软件包

_____________________________________________________________

$sudo apt-get install vnc-server
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
软件包 vnc-server 是一个由下面的软件包提供的虚拟软件包:
vnc4server 4.1.1+xorg4.3.0-37ubuntu2
tightvncserver 1.3.9-6
请您明确地选择一个来进行安装。
E: 软件包 vnc-server 还没有可供安装的候选者

______________________________________________________________

2.配置服务器:$vi ~/.vnc/xstartup

xstartup文件的最后一行定义了vnc客户端的界面风格,

ubuntu默认使用的是x-window-manager &

linux则默认使用twm &

默认的界面风格都只提供了终端字符界面,因此为了真正显示图形界面,我们要将默认风格改为gnome-session &(Gnome桌面)或者kde &(KDE桌面)

3.启动vnc服务:$vncserver

第一次运行vncserver时会提示输入连接密码,之后便自动分配了一个vnc服务

___________________________________________________________

New 'jiong-desktop:1 (jiong)' desktop is xxx-desktop:1

Starting applications specified in /home/xxx/.vnc/xstartup
Log file is /home/xxx/.vnc/xxx-desktop:1.log

____________________________________________________________
其中显示的数字就是vnc客户端登陆时所要对应的窗口号,自此服务端已经配置完成,vnc服务也已经工作。

若要关掉vnc服务,则用$vncserver -kill :窗口号的格式来关闭相应vnc服务。

4.windows下使用客户端登陆:RealVNC软件

RealVNC包括客户端和服务器端,我们只需要利用它的客户端来登陆linux因此仅安装客户端部分(VNC Viewer)就行了。启动vnc viewer,输入对应地址,格式为:IP:590窗口号,如图


当然也可以通过网页浏览器来登陆(需要额外的JAVA支持),浏览器的地址格式为http:\IP:580窗口号

点击connect后跳出密码对话框,输入首次配置vncserver时设置的密码便可登陆linux的途径界面。

注:如果connect后无法连接登陆,提示10060错误,很有可能是服务器端防火墙导致,因此要么把对应端口设为可信要么降低防火墙设置,要么关闭防火墙(linux可用"iptables -F"来临时关闭防火墙)。

自己一段试验后的总结:

其实要远程桌面控制ubuntu(虚拟机上的系统)关键是要配置好 /root/.vnc/xstartup文件,但是其他的桌面系统自己没有配置成功,例如gnome gnome-classic unity ubuntu等桌面环境,自己弄成功的是xfce桌面环境,其分为两个步骤:安装桌面环境;配置xstartup文件(其是指明在Windows上显示的是什么桌面环境)

a.sudo apt-get update

sudo apt-get install xfce4

b.安装好后要自行新建配置文件,是的远程登录时默认使用xfce作为界面登录。其指令为:

echo "xfce4-session">~/.xsession

c.配置xstartup文件,是定义vncviwer显示的是什么桌面环境,其跟主机上运行的界面可能不同。

配置为:

#!/bin/sh   

# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
x-sesion-manager & xfdesktop & xfce4-panel &
xfce4-menu-plugin &
xfsettingsd &
xfconfd &
xfwm4 &
然后重启一下VNC就可以连接了,其开启指令为:

vncserver :1

我们可以远程端运行XU4里的应用程序,其结果图如下: (其运行时间会比直接在本机上运行的大)


我的连接界面如下:(其远程终端的界面取决于xstartup的配置,可以跟主机上的不一致,但是指令扥操作产生的效果是一样的,例如输入reboot,会把主机给关了)


其中有个要注意的就是:很多连接是出现灰色屏幕的,这是由于一些桌面环境是3D,但是vnc是不支持3D桌面的,所以就会出现灰屏,例如ubuntu桌面环境其是一种unity类型的vnc是不能显示的,所以此时要安装别的桌面环境,然后配置xstartup文件,主要是这个环境配置要对,其他的真的没什么要注意的,

可以使用下面的指令来查看,桌面环境:


其是查看了桌面环境也没啥用,关键是要看/.vnc/xstarup 文件里配置的是什么环境,则在远程端看到的就是什么环境,

一种解决没有解码的连接问题的方法,不过对自己没有

ubuntu的一些桌面环境,其是在登录界面右上角的一个图标点击出来的


2.XU4开发板的视频接口是HDMI的,其在VGA、DVI几种视频接口的里的联系



其中自己使用的显示屏是直接在XU4开发板上的HDMI接口出来,通过转接器转为VGA口(无源)然后就接在了液晶屏上就可以显示了。自己还测试了一种,是VGA出来的口再转接为HDMI口接在具有HDMI口的显示屏上,但是没有显示出来,是黑屏的。



参考文献:

使用eMMC做储存器时如何烧写镜像



更多相关文章

  1. 手把手教你在ubuntu下创建桌面快捷方式
  2. 在Linux里设置用户环境变量的方法
  3. linux环境下写C++操作mysql(二)
  4. 在VNC远程桌面环境Xfce4中Tab键失效的解决方法
  5. Linux CentOS 配置Tomcat环境
  6. LNMP(Linux+Nginx+Mysql+PHP)环境下安装yaf框架并编写一个MVC例子
  7. 搭建Android-x86环境 ,加速android虚拟机
  8. 一些下载交叉编译环境的地址
  9. Mac下使用brew搭建PHP7+nginx+mysql开发环境

随机推荐

  1. 【Android Training视频系列】第3讲 Supp
  2. android之自定义带图片的title
  3. android broadcastReceiver生命周期及两
  4. Android studio开发找不到HttpClient问题
  5. android 数字键盘使用
  6. [Android]Kernel的下载和编译
  7. 马达 vibrator的android的timed_output实
  8. android中从图库中选取图片
  9. 与屏幕有关的设置:禁止横竖屏切换;横竖屏切
  10. 原始Android的目标机代码结构