安装VNC,远程图形化管理树莓派

VNC 是一款优秀的远程控制软件,在树莓派上安装VNC后,就可以远程图形化管理树莓派了,下面介绍一下VNC安装及使用要点。
1、在树莓派上安装Tight VNC 包,在树莓派命令行执行:

su - root #切换到root用户
apt-get install tightvncserver

安装好之后再执行以下命令设置一个VNC密码:

vncpasswd

(先输入操作密码两次,然后会询问是否设置一个查看(view-only)密码,按自己喜欢,一般没必要。)

2、开机自动启动
设置开机启动,以避免重启后无法连接树莓派,需要手动启动vnc的问题,在/etc/init.d/中创建一个文件。例如vncserver:

vi /etc/init.d/vncserver

接着粘贴入如下脚本(脚本来源于网络):

#!/bin/sh
### BEGIN INIT INFO
# Provides: tightvncserver
# Required-Start: $local_fs
# Required-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start/stop tightvncserver
### END INIT INFO

# More details see:
# http://www.penguintutor.com/linux/tightvnc

### Customize this entry
# Set the USER variable to the name of the user to start tightvncserver under
export USER=’pi’
### End customization required

eval cd ~$USER

case “$1” in
start)
# 启动命令行。此处自定义分辨率、控制台号码或其它参数。
su $USER -c ‘/usr/bin/tightvncserver -depth 16 -geometry 800×600 :1’
echo “Starting TightVNC server for $USER ”
;;
stop)
# 终止命令行。此处控制台号码与启动一致。
su $USER -c ‘/usr/bin/tightvncserver -kill :1’
echo “Tightvncserver stopped”
;;
*)
echo “Usage: /etc/init.d/tightvncserver {start|stop}”
exit 1
;;
esac
exit 0

保存后再执行如下命令给文件加执行权限,并更新开机启动列表:

chmod 755 /etc/init.d/tightvncserver
update-rc.d tightvncserver defaults

3、在远程计算机上访问
下载 VNC Viewer,地址:http://www.tightvnc.com/download.php
下载Window版的 VNC-Viewer,运行 VNC-Viewer,在 VNC Server栏中输入树莓派的IP地址,IP地址后面加上 :1 ,按 connect 连接,后输入之前定义的密码,点击OK就成功了。

树莓派系统无法启动问题

系统正常关机,但是再开机时就不能启动了,出现如下提示: VFS Unable to mount root fs on unknown-block(179,2)
网上搜索了一下,这个问题似乎还很常见,好像是系统在关机时缓存内容没有同步到磁盘所致。
要解决这个必须用 fsck 命令对系统分区进行修复才行,打开linux系统(centOS、ubuntu都行,没有系统?可用VMWare Workstation解决),插入SD卡,系统识别SD卡后在命令行执行:

sudo fsck -f -v -r /dev/sdb2

命令执行完后系统就修复完成了,可将sd卡插入树莓派启动系统了。

既然是关机时缓存内容没有同步造成的问题,要解决这个问题就必须在关机时先同步缓存再关机,可执行以下命令来关机即可解决这个问题:

sync && shutdown -h now

linux的一些常有命令

文本转自:http://blog.csdn.net/c80486/article/details/8460223

以前很少用linux,由于需要学习使用 树莓派,从头学习linux

linux的文件结构
/ 根目录下的目录
/bin
/home
/dev
/usr
/opt
/etc

要会用linux,必须学会常用的linux命令

cd <目录>
进入目录,与DOS基本相同

ls
列出文件,相当于DOS的dir
ls -l
显示文件和目录的详细资料
ls -a
显示隐藏文件

cp <源文件名> <目标文件名>
复制文件,相当于DOS的copy

mv <源文件名> <目标文件名>
移动文件

rm <文件名>
删除文件,相当于DOS的del

date
显示系统日期

cat <文件名>
在屏幕上打印出文件内容,相当于DOS的type

mkdir <目录名>
创建目录,相当于DOS的md

shutdown -h now
立即关机

pwd
显示当前路径

chmod
改变文件权限
例如:
chmod +x <文件名> //使文件具有运行权,即可运行文件

sudo …
以root身份执行命令
如:sudo shutdown -h now (关机必须是root身份)

sudo passwd <用户名>
修改用户密码

reboot
重新启动(必须是root身份)
记得要用 sudo reboot

apt-get
联网下载、安装、删除软件包的命令(一般是用root身份),这个命令是Debian linux系统用的,功能很强
例如:
sudo apt-get update //升级列表中的软件包
sudo apt-get upgrade //升级所有已安装的软件
sudo apt-get install vsftpd //下载并安装vsftpd(一个ftp服务器)
sudo apt-get remove vsftpd //删除vsftpd

apt-cache search gcc 在apt cache中查找有否一个名为gcc的包
dpkg -i 1.deb 安装名为1.deb的包

wget 
直接从网上下载一个文件
例如:
wget http://www.baidu.com/img/baidu_sylogo1.gif //下载百度的logo图片

vi <文件名>
文件编辑命令
vi不太好用,要记一串命令,还是不学了

nano <文件名>
文件编辑命令nano,这个很好用,学一分钟就会
CTRL+O 存盘
CTRL+X 退出

startx
启动窗口系统

zip file1.zip file1 创建一个zip格式的压缩包

unzip file1.zip 解压一个zip格式压缩包

tar -xvfz archive.tar.gz 解压一个gzip格式的压缩包

tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包

df -h 查看磁盘空间

lsusb 查看USB设备

lsmod 显示已载入系统的模块,lsmod 其实就是list modules的缩写

sudo insserv /etc/init.d/mysript 设置启动服务/etc/init.d/mysript

sudo insserv -r /etc/init.d/mysript 删除启动服务/etc/init.d/mysript

sudo hostname newname 修改主机名

sudo adduser username 增加用户

sudo deluser username 删除用户

sudo halt 关机

Tips: Linux命令中出现文件名时,只需输入前几个字符,再按tab键,则linux会自动将文件名全部列出,这一点很人性
Linux的命令很多,在实际运用中,慢慢学吧

树莓派的一些常用设置

启用root账户
树莓派使用的linux是debian系统,所以树莓派启用root和debian是相同的。debian里root账户默认没有密码,但账户锁定。当需要root权限时,由默认账户经由sudo执行,Raspberry pi 系统中的Raspbian默认用户是pi 密码为raspberry。重新开启root账号,可由pi用户登录后,在命令行下执行:

sudo passwd root

执行此命令后系统会提示输入两遍的root密码,输入你想设的密码即可,然后在执行:

sudo passwd --unlock root

这样就可以解锁root账户了。

安装中文及输入法
目前linux下用的最常用的输入法平台推荐scim,在命令行下执行:

sudo apt-get install scim

执行此命令后继续安装pinyin输入法,继续在命令行下执行:

sudo apt-get install scim-pinyin

执行完命令后重启电脑既可在任务栏选择拼音输入法了。

树莓派设置时区
树莓派设置时区需要使用下面的命令:

sudo dpkg-reconfigure tzdata

执行命令后需要稍微等会,之后会出来时区选择的界面,在界面里选择Asia,接着选择shanghai完成设置。

更改键盘布局
如果你在打字时发现打字老是出问题,一些字符打不出来或打错,那是因为你的键盘布局有问题,树莓派(raspberry pi)是英国产品,默认键盘布局是英国(GB),我们用的键盘布局一般是美国(US)的。
更改键盘布局,命令如下:

sudo dpkg-reconfigure keyboard-configuration

在 接下来的选项中依次选择:通用101键电脑——英语(美国) – 英语(美国,替代,国际)——其他保持默认即可

openwrt+aria2+移动硬盘打造智能NAS系统

一两年前(记不得是一年前还是两年前了)买了巴法络的WZR-HP-G300NH2型号路由器,路由器配置不算高,但还是可以各种折腾。先刷了dd-wrt,但是感觉不够智能所以刷了openwrt,接着挂载移动硬盘安装迅雷Xware远程下载,autoddvpn智能翻墙,才知道原来路由器可以这么玩!前几天路由器时不时的掉线,估计是系统出了问题,重刷了固件,随便把当初刷机时收集的资料整理了一份分享给大家。

一、TFTP刷机法刷OPENWRT(该部份只适用于BUFFALO WZR-HP-G300NH2)

1、根据路由器cpu类型下载适合自己路由器的openwrt固件备用,我选择的是14.07下的openwrt-ar71xx-generic-wzr-hp-g300nh2-squashfs-tftp.bin
openwrt固件选择基础知识:
factory用于原厂固件下刷机;sysupgrade是openwrt固件下升级用;tftp用于uboot启动模式下tftp刷机。
squashfs和jffs2区别是:squashfs会占用空间存放系统必要的文件,并且这些文件是只读的,当系统损坏时,可以执行firstboot恢复初始状态。而jffs2是可以改写的,你可以删除一些系统部件而获得更多的空间,但缺点是一旦系统崩溃,有可能你无法使用firstboot脚本重建初始系统。

2、在本地连接中设置静态IP地址,设置参数如下
IP地址:192.168.11.2 ; 子网掩码:255.255.255.0 ; 网关/dns 192.168.11.1

3、关闭windows防火墙及其他防火墙,拔掉多余网线,只留wan口旁的lan口与电脑连接(这步很重要,不设置会无法用tftp上传固件)

4、设置静态路由(windows7设置方法,刷机时的所以命令都在cmd内输入)
在cmd中输入以下命令:

netsh interface ipv4 add neighbors 11 192.168.11.1 02-aa-bb-cc-dd-1a

可以用route print 命令先看网卡端口,上面命令中写的是11,需改成自己的,一般为Interface List下面一行的头一个数字)
5、tftp命令上传固件刷机,路由器插上电源后,仔细观察网卡灯,顺序为1.所有灯全亮,2.只剩插网线的lan口灯亮,3.闪烁几下暗掉后请准备,再亮的同时按回车执行下面命令,此处为要点,一定要掌握好时机(即网卡灯第三次亮时按回车)。

tftp -i 192.168.11.1 put d:\openwrt-ar71xx-generic-wzr-hp-g300nh2-squashfs-tftp.bin

上传成功会显示传输成功,上面的d:\openwrt-ar71xx-generic-wzr-hp-g300nh2-squashfs-tftp.bin请改为自己放固件的路径和文件名

6、tftp上传的时间很快,但是上传后等待时间会有点长,一般为7、 8分钟,这时什么都不要做,千万不要断电,路由会自己重启

7、删除静态路由,改ip地址为自动获取

netsh interface ipv4 delete neighbors 11 192.168.11.1 02-aa-bb-cc-dd-1a

8、成功后openwrt的ip为192.168.1.1,默认用户名密码root。

二、安装软件挂载移动硬盘并共享

使用openwrt过程中会用到WinSCP和PuTTY,先自行在网上搜索下载。

1、用PuTTY连接至路由

2、输入以下命令(#号及后面的为注释不要输入):

opkg update     #更新软件列表
opkg install luci-i18n-chinese #安装中文web界面
opkg install kmod-usb-storage block-mount kmod-fs-ext4 luci-app-samba samba36-client samba36-server hdparm     #安装共享等
reboot  #重启路由

3、挂载与共享设置
浏览器输入192.168.1.1进入路由器web界面,点“系统”菜单选择“挂载点”选项

在挂载点页面的挂载点处选择要挂载的硬盘分区,可点“修改”进行相关设置,注意下图中挂载点要显示的目录名称与文件系统格式设置,设置好后注意选择保存。

点“服务”菜单选择“网络共享”选项,在网络共享页面点添加设置共享目录,目录处输入上图中设置的挂载点目录名称,选择允许匿名用户,创建权限和目录权限都设置为7777,选择保存设置完毕。

设置好后用PuTTY连接至路由,用以下命令启动共享

/etc/init.d/samba enable

4、设置usb硬盘自动休眠

在web管理页面点“系统”菜单选择“启动项”选项,在启动项页面的“本地启动脚本”内输入以下命令,使移动硬盘5分钟无操作便进入休眠,休眠时接到读写命令会自动唤醒进入工作模式。

hdparm -S 60 /dev/sda2

注:hdparm -S 60 /dev/sda2 设置超时值(5分钟)使硬盘进入休眠模式(省电模式),这个S数值12=1分钟,所以60=5分钟(60/12); /dev/sda2 为挂载的硬盘路径,ls /dev/sda*查看你的盘符。

至此挂载移动硬盘及共享设置全部完成!

三、安装aria2下载软件

我最初用的openwrt下载软件是迅雷自家的Xware,后用了arir2发现它各种方便,甩Xware几条街。
1、安装Aria2

opkg update
opkg install aria2 sudo  #安装aria2与sudo

2、配置Aria2
Aria2有两种下载模式,一种是命令行下载模式,一种是RPC Server模式.前者不建议使用,后者的使用方式很方便. RPC模式就是启动之后什么也不做,等着通过RPC接口接受下载请求.下载完也不会退出,一直等待. 使用命令行加参数的方式配置Aria2非常不推荐,建议使用配置文件的方式,下面贴出一份配置文件。

##允许rpc
enable-rpc=true
#允许所有来源, web界面跨域权限需要
rpc-allow-origin-all=true
#允许非外部访问
rpc-listen-all=true
#RPC端口, 仅当默认端口被占用时修改
rpc-listen-port=6800
#设置加密的密钥,token验证
rpc-secret=token
#禁用IPv6, 默认:false
disable-ipv6=true
#最大同时下载数(任务数), 路由建议值: 3
max-concurrent-downloads=3
#断点续传
continue=true
#同服务器连接数
max-connection-per-server=5
#最小文件分片大小, 下载线程数上限取决于能分出多少片, 对于小文件重要
min-split-size=10M
#单文件最大线程数, 路由建议值: 5
split=5
#下载速度限制
max-overall-download-limit=0
#单文件速度限制
max-download-limit=0
#上传速度限制
#max-overall-upload-limit=0
#单文件速度限制
#max-upload-limit=0
#断开速度过慢的连接
#lowest-speed-limit=0
#验证用,需要1.16.1之后的release版本
#referer=*
#日志文件,如果不需要日志,这一行可去掉
#log=/app/aria2/Aria2.log
#这两个是记录和读取下载历史用的,断电和重启时保证下载任务不会丢失,如果有时aria2不能启动,清空这里面的内容就行了
input-file=/app/aria2/aria2.session
save-session=/app/aria2/aria2.session
#定时保存会话,每5分钟自动保存错误或未完成的下载,如果为 0, 只有 aria2 正常退出才回保存,默认 0,需要1.16.1之后的release版
save-session-interval=300
#文件保存路径, 默认为当前启动位置
dir=/usb/Downloads
#文件缓存, 使用内置的文件缓存, 如果你不相信Linux内核文件缓存和磁盘内置缓存时使用, 需要1.16及以上版本
#disk-cache=0
#另一种Linux文件缓存方式, 使用前确保您使用的内核支持此选项, 需要1.15及以上版本(?)
#enable-mmap=true
#文件预分配, 能有效降低文件碎片, 提高磁盘性能. 缺点是预分配时间较长
#所需时间 none < falloc ? trunc << prealloc, falloc和trunc需要文件系统和内核支持
file-allocation=prealloc

将上面的配置文件保存为aria2.conf(注意保存时编码选择为ANSI,否则会出现未知错误),用WinSCP新建/app/aria2目录,并将aria2.conf保持在里面,在/app/aria2新建aria2.session文件(目的请见上面的配置注释)

aria2.session也可在终端用命令建立:

cd /app/aria2   #进入/app/aria2 目录
touch aria2.session  #新建aria2.session文件

3、设置开机自启动

在web管理页面点“系统”菜单选择“启动项”选项,在启动项页面的“本地启动脚本”内输入以下命令,设置开机自启动。

sudo -u nobody  aria2c –conf-path=/app/aria2/aria2.conf -D

注:以用户nobody运行aria2,以解决aria2下载的文件的权限问题,-D 意为后台执行

至此,aira2安装设置已全部完成,aria2下载可使用迅雷离线导出百度网盘助手115下载助手Aria2c Integration等插件解决,本文不再赘述。