Intel Joule Ubuntu16.04 修改的内容

4170阅读 0评论2019-02-11 iibull
分类:其他平台




点击(此处)折叠或打开

  1. sudo apt-get remove -y ufw libreoffice-* deja-dup webbrowser-app cheese gnome-mahjongg gnome-mines aisleriot rhythmbox* totem imagemagick* simple-scan eog \
  2. gnome-sudoku rhythmbox shotwell thunderbird evince transmission-gtk onboard remmina gnome-calendar xterm checkbox-*

  3. ***************************************************************************************************
  4. ***************************************************************************************************
  5. ***************************************************************************************************
  6. //替换为 cn99 的更新源。
  7. sudo apt-get install bison g++-multilib git gperf libxml2-utils make python-networkx zip
  8. sudo apt-get install flex curl libncurses5-dev libssl-dev zlib1g-dev gawk minicom
  9. sudo apt-get install openjdk-8-jdk
  10. sudo apt-get install exfat-fuse exfat-utils device-tree-compiler liblz4-tool
  11. sudo apt-get install openssh-server vim

  12. ***************************************************************************************************
  13. ***************************************************************************************************
  14. ***************************************************************************************************
  15. 16.04 的 compiz 很费内存和CPU, 使用另外一种登录界面。
  16. sudo apt-get install gnome-session-flashback
  17. 然后使用 GNOME Flashback(Metacity)选项登录。

  18. ***************************************************************************************************
  19. ***************************************************************************************************
  20. ***************************************************************************************************

  21. //查看虚拟内存 SWAP
  22.  输入命令
  23.      free -mh
  24.     发现swap剩余空间确实很小了。

  25.      增大swap空间:
  26.        dd if=/dev/zero of=/var/swap bs=1024 count=4096000
  27.        mkswap /var/swap
  28.        swapon /var/swap
  29.        free -mh
  30. ***************************************************************************************************
  31. ***************************************************************************************************
  32. ***************************************************************************************************

16.04 的 compiz 很费内存和CPU.
sudo apt-get install gnome-session-flashback
重新登录系统,在用户名的右侧,有个按钮,选择 GNOME Flashback(Metacity)选项, 之后的界面就不再有 3D 效果了.

直接删除是不行的,因为这个是跟桌面管理器unity集成在一起的,直接删除命令为:


sudo apt-get autoremove compiz compiz-gnome compiz-core compiz-plugins-default

----------------------------------------------------------------------------------------------------------------------

低格Joule.
使用U盘版, Try Ubuntu, 打开 Shell, 执行 sudo dd of=/dev/mmcblk0  if=/dev/zero bs=32M
然后重启, 进行 Install Ubuntu
安装完毕. 进行提供整理.
sudo apt-get remove -y ufw libreoffice-* deja-dup webbrowser-app cheese gnome-mahjongg gnome-mines gnome-sudoku rhythmbox shotwell thunderbird evince transmission-gtk

修改默认窗口大小, 默认 640x480太小了. 远程登录显示空间不足.
新建 /etc/X11/xorg.conf

  1. Section "Monitor"
  2. Identifier "Configured Monitor"
  3. Modeline "1280x1024_60.00" 109.00 1280 1368 1496 1712 1024 1027 1034 1063 -hsync +vsync
  4. Option "PreferredMode" "1280x1024_60.00"
  5. EndSection

  6. Section "Screen"
  7. Identifier "Default Screen"
  8. Monitor "Configured Monitor"
  9. Device "Configured Video Device"
  10. EndSection

  11. Section "Device"
  12. Identifier "Configured Video Device"
  13. EndSection
其中 xrandr 可以查看到底有多少种显示模式, 通过 cvt 1280 1024 得到 Modeline . 重启开机, 则默认窗口大小正常. 

sudo apt-get autoremove --purge


然后设置桌面VNC共享. 

1. 使用文本界面. 
参考 https://blog.csdn.net/davidhopper/article/details/79288573

点击(此处)折叠或打开

  1. sudo vi /etc/default/grub
  2. 将此行用“#”注释:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
  3. 将GRUB_CMDLINE_LINUX="" 修改为:GRUB_CMDLINE_LINUX="代写论文、pos"
  4. 将#GRUB_TERMINAL=console前的“#”号去除,即反注释该行。

  5. sudo update-grub
  6. sudo systemctl set-default multi-user.target
  7. shutdown -r now
2. 添加网络启动
参考 
方式一:
把 /etc/rc.local 的 #/bin/sh -e 改为 #/bin/bash
添加内容为 

点击(此处)折叠或打开

  1. #!/bin/bash

  2. ifconfig wlp1s0 up && wpa_supplicant -B -Dnl80211 -iwlp1s0 -c/etc/wpa_supplicant/wpa.conf && dhclient wlp1s0
  3. exit 0

  4. 其中wpa.conf 文件内容.
  5. #cat /etc/wpa_supplicant/wpa.conf
  6. ctrl_interface=/var/run/wpa_supplicant
  7. update_config=1

  8. network={
  9.     ssid="SEC"
  10.     psk="sec12345"
  11. }
方式二: 建立自启动脚本.    

点击(此处)折叠或打开

  1. update-rc.d增加开机启动服务

  2. 给Ubuntu添加一个开机启动脚本,操作如下:

  3. 1、新建个脚本文件new_service.sh

  4. #!/bin/bash
  5. # command content
  6.   
  7. exit 0
  8. 2、设置权限

  9. sudo chmod 755 new_service.sh
  10. #或者
  11. sudo chmod +x new_service.sh
  12. 3、把脚本放置到启动目录下

  13. sudo mv new_service.sh /etc/init.d/
  14. 4、将脚本添加到启动脚本

  15. 执行如下指令,在这里90表明一个优先级,越高表示执行的越晚

  16. cd /etc/init.d/
  17. sudo update-rc.d new_service.sh defaults 90
  18. 5、移除Ubuntu开机脚本

  19. sudo update-rc.d -f new_service.sh remove
  20. 6、通过sysv-rc-conf来管理上面启动服务的启动级别等,还是开机不启动

  21. sudo sysv-rc-conf
  22. 7、update-rc.d的详细参数

  23. 使用update-rc.d命令需要指定脚本名称和一些参数,它的格式看起来是这样的(需要在 root 权限下):

  24. update-rc.d [-n] [-f] <basename> remove
  25. update-rc.d [-n] <basename> defaults
  26. update-rc.d [-n] <basename> disable|enable [S|2|3|4|5]
  27. update-rc.d <basename> start|stop <NN> <runlevels>
  28. -n: not really
  29. -f: force
  30. 其中:

  31. disable|enable:代表脚本还在/etc/init.d中,并设置当前状态是手动启动还是自动启动。
  32. start|stop:代表脚本还在/etc/init.d中,开机,并设置当前状态是开始运行还是停止运行。(启用后可配置开始运行与否)
  33. NN:是一个决定启动顺序的两位数字值。(例如90大于80,因此80对应的脚本先启动或先停止)
  34. runlevels:则指定了运行级别。
  35. 实例:

  36. (1)、添加一个新的启动脚本sample_init_script,并且指定为默认启动顺序、默认运行级别(还记得前面说的吗,首先要有实际的文件存在于/etc/init.d,即若文件/etc/init.d/sample_init_script不存在,则该命令不会执行):

  37. update-rc.d sample_init_script defaults
  38. 上一条命令等效于(中间是一个英文句点符号):

  39. update-rc.d sample_init_script start 20 2 3 4 5 . stop 20 0 1 6
  40. (2)、安装一个启动脚本sample_init_script,指定默认运行级别,但启动顺序为50:

  41. update-rc.d sample_init_script defaults 50
  42. (3)、安装两个启动脚本A、B,让A先于B启动,后于B停止:

  43. update-rc.d A 10 40
  44. update-rc.d B 20 30
  45. (4)、删除一个启动脚本sample_init_script,如果脚本不存在则直接跳过:

  46. update-rc.d -f sample_init_script remove
  47. 这一条命令实际上做的就是一一删除所有位于/etc/rcX.d目录下指向/etc/init.d中sample_init_script的链接(可能存在多个链接文件),update-rc.d只不过简化了这一步骤。

  48. (5)禁止Apache/MySQL相关组件开机自启:

  49. update-rc.d -f apache2 remove
  50. update-rc.d -f mysql remove
  51. 8、服务的启动停止状态

  52. #通过service,比如
  53. sudo service xxx status
  54. sudo service xxx start
  55. sudo service xxx stop
  56. sudo service xxx restart
  57. 9、查看全部服务列表

  58. sudo service --status-all
3. 去除一下占资源的服务

点击(此处)折叠或打开

  1. sudo apt-get remove -y cups-browsed unattended-upgrades cups modemmanager pulseaudio

4. 添加USB 声卡
    

点击(此处)折叠或打开

  1. 安装 sudo apt-get install sox libsox-fmt-all, 用 sudo play 命令播放mp3.
  2. /*
    参数 repeat  次数. 

    play 1.mp3 trim 00:50 从 00分50秒开始播放.
    play 1.mp3 trim 00:50 =00:53  从 00分50秒开始播放, 53秒结束.
    play 1.mp3 trim 00:50 =00:53 -00:10 从 00分50秒开始播放, 53秒结束. 结束后再播放整个文件的最后的10秒内容.


    最后播放的内容 
    In:99.9% 00:01:35.35 [00:00:00.05] Out:622k  [      |      ]        Clip:0
    通过截取 第 10 -17 获得当前播放的时间刻度, 以便于后续继续播放.
    插播其他的音乐内容 pidof play | xargs kill -9 可以实现.


    如果要实现插播, 应该要使用线程实现了.
    主线: 播放主线音乐, 检测是否有副线语音, 有则记录当前的播放刻度, 杀掉后台Play, 然后播放副线语音, 完毕后从对应的主线音乐刻度点上继续播放.
    */

5.  提高网络稳定性

点击(此处)折叠或打开

  1. wlp1s0 不够稳定, 在SSH/SMB时经常处于忙状态.
  2.         禁用IPV6:
  3.             vim /etc/sysctl.conf 加入
  4.                 net.ipv6.conf.all.disable_ipv6 = 1
  5.                 net.ipv6.conf.default.disable_ipv6 = 1
  6.                 net.ipv6.conf.lo.disable_ipv6 = 1
  7.             执行 sudo sysctl -p
  8.             检查 cat /proc/sys/net/ipv6/conf/all/disable_ipv6 返回为 1

另外一种, 关闭无线网卡的电源管理
sudo vim /etc/network/interfaces
添加  wireless-power off  放在 auto wlan0 前面
/etc/init.d/networking restart
确认 iwconfig 显示 Power Management:off

6. 添加新加入的设备的ROS的可访问性

点击(此处)折叠或打开

  1. 自行添加
  2. cat /etc/udev/rules.d/
  3. 95-oem-hotkey-osd.rules 99-realsense-libusb.rules ros-common.rules rplidar.rules
  4. ray@Joule:~$ cat /etc/udev/rules.d/ros-common.rules
  5. # set the udev rule , make the device_port be fixed by rplidar
  6. #
  7. KERNEL=="ttyUSB*", MODE:="0777"
  8. KERNEL=="ttyACM*", MODE:="0777"  # 底盘 stm32 对应的 VCP
  9. SUBSYSTEMS=="input", MODE:="0666", KERNEL=="event*"  #遥控器,蓝牙键盘等等

点击(此处)折叠或打开

  1. remap激光雷达, , 在 rplidar 的ROS数据包内执行响应的脚本
  2. cat /etc/udev/rules.d/rplidar.rules
  3. # set the udev rule , make the device_port be fixed by rplidar
  4. #
  5. KERNEL=="ttyUSB*", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", MODE:="0777", SYMLINK+="rplidar"

点击(此处)折叠或打开

  1. intel realsense安装的内容, 在 realsense的ROS数据包内执行响应的脚本
  2. cat /etc/udev/rules.d/99-realsense-libusb.rules
  3. # RealSense UVC cameras (R200, F200, SR300 LR200, ZR300)
  4. SUBSYSTEMS=="usb", ATTRS{idVendor}=="8086", ATTRS{idProduct}=="0a80", MODE:="0666", GROUP:="plugdev", RUN+="/usr/bin/usb-R200-in_udev"
  5. SUBSYSTEMS=="usb", ATTRS{idVendor}=="8086", ATTRS{idProduct}=="0a66", MODE:="0666", GROUP:="plugdev"
  6. SUBSYSTEMS=="usb", ATTRS{idVendor}=="8086", ATTRS{idProduct}=="0aa5", MODE:="0666", GROUP:="plugdev"
  7. SUBSYSTEMS=="usb", ATTRS{idVendor}=="8086", ATTRS{idProduct}=="0abf", MODE:="0666", GROUP:="plugdev"
  8. SUBSYSTEMS=="usb", ATTRS{idVendor}=="8086", ATTRS{idProduct}=="0acb", MODE:="0666", GROUP:="plugdev"
  9. SUBSYSTEMS=="usb", ATTRS{idVendor}=="8086", ATTRS{idProduct}=="0ad0", MODE:="0666", GROUP:="plugdev"
  10. SUBSYSTEMS=="usb", ATTRS{idVendor}=="8086", ATTRS{idProduct}=="04b4", MODE:="0666", GROUP:="plugdev"
关闭SSHD服务自动断开.

ubuntu openssh 连接自动断开问题

https://blog.csdn.net/cheligeer1988/article/details/10539293

点击(此处)折叠或打开

  1. SSH server
  2. If you have administrator access to the server, you can configure the ClientAliveInterval, TCPKeepAlive and ClientAliveCountMax options in the SSHd configuration file. If you're running Ubuntu / Debian, the file's path is /etc/ssh/sshd_config

  3. ClientAliveInterval 30
  4. TCPKeepAlive yes
  5. ClientAliveCountMax 1000
  6. You will need to restart the SSH server for the changes to take effect.

  7. sudo /etc/init.d/sshd restart






上一篇:猪事大吉 - ROS 学习 - BigRobot - 第一日 - 手动控制部分
下一篇:猪事大吉 - ROS 学习 - BigRobot - 第二日 - ROS多线程部分