Linux && Hardware

Linux && Hardware

Linux Note

临时切换到root用户

sudo su

用 &&组合两个命令,比如:

cd dir && ls

chown

chown user:group filename

chmod

chmod +x file

add sudo user

sudo usermod -aG sudo newuser

ubuntu换源后,务必执行

sudo apt-get clean && sudo apt-get autoremove 清除cache

vsphere client 中修改ubuntu控制台大小

一行代码统计代码行数

1
find . -iregex ".*\.\(cpp\|h\|java\|sh\)quot; | xargs wc -l
Copied!
想要增加统计的代码类型,就在正则表达式里填后缀就好

开启后台进程并脱离terminal生命周期

有时候我们会想要开启后台进程,往往会用&的符号,但这样开的进程在关闭terminal的时候也会被杀死,因此还要加一个disown,解绑进程和终端:
1
./test.sh & disown
Copied!

ubuntu搜索软件源

1
sudo apt-cache search ros(关键字)
Copied!

Ubuntu 全局代理

系统设置-网络-代理设置-手动-填自己的代理服务器地址和端口即可

导入全局证书

1
sudo cp your.crt /usr/share/ca-certificates/your.crt
2
sudo dpkg-reconfigure ca-certificates
Copied!
或者编辑 /etc/ca-certificates.conf
然后
1
sudo update-ca-certificates
2
sudo dpkg-reconfigure ca-certificates
Copied!

Ubuntu desktop应用设置环境变量

直接上代码
1
[Desktop Entry]
2
Version=1.0
3
Type=Application
4
Name=Pycharm
5
Exec=env LD_LIBRARY_PATH=:/usr/local/cuda/lib64:/usr/local/cuda/lib64 /home/cwh/software/pycharm-2016.1.4/bin/pycharm.sh
6
Icon=/home/cwh/software/pycharm-2016.1.4/bin/pycharm.png
7
Name[zh_CN]=Pycharm
Copied!

Ubuntu控制端远程登陆另外的设备

    可以考虑remmina,或者rdesktop,
    remmina是ubuntu自带的,启动和配置可以通过图形化界面实现,并且持久化配置信息
    rdesktop需要自己另外安装
    1
    sudo apt-get install rdesktop
    Copied!
    安装后通过参数启动远程,启动后的远程比remmina好看,例子:使用rdesktop远程并设定分辨率
    比较喜欢rdesktop,有空写一个shell程序来保存配置

Ubuntu SSH带界面

Copied!

Ubuntu被控端允许远程

    sudo vino-preferences,允许远程
    安装远程桌面环境
    1
    sudo apt-get install xfce4
    2
    sudo apt-get install xrdp tightvncserver
    3
    echo "xfce4-session" >~/.xsession
    4
    sudo service xrdp restart
    Copied!
    其中xfce4 tab键默认会因为键位冲突不能自动补全,需要执行 xfwm4-settings,在 按键 - 切换同一应用程序的窗口,清除它的快捷键
    xfce4-settings-manager, Prefered applications,可以修改默认的终端和文件管理器
    用windows远程ubuntu时,mstsc命令后加/span,可以实现多屏扩展
    可以修改vncserver分辨率:
1
vncserver -geometry 1920x1080
Copied!
这样就能启动一个指定分辨率为1920x1080的vnc会话
    如果需要在mac上远程Ubuntu,需要在Ubuntu上开启vncserver: 命令行输入vncserver(初次运行输入设置密码),并将~/.vnc/xstartup文件改为:
1
#!/bin/bash
2
xrdb $HOME/.Xresources
3
startxfce4 &
Copied!
以此解决花屏问题
    关闭一个vncserver:
1
vncserver -kill :k
Copied!
k是你的vncserver的编号,比如端口号5904的vncserver应该是4
在各个平台上可以下载vncviewer来连接vncserver

ubuntu18.04远程

如果是ubuntu18.04,则不需要安装xfce,可以直接通过xorg远程原生ubuntu:
1
sudo apt-get install xrdp
Copied!

共享代理给手机

    条件一:电脑能科学上网(我用了xx-net)
    条件二:电脑和手机处于同一个局域网里
    操作:在xx-net的目录中搜索proxy.ini,将ini中,127.0.0.1改成0.0.0.0
    查看自己电脑的ip
    android手机wifi连接那里,设置代理,设置ip为电脑ip,端口为8087(xx-net的代理端口)
    end

Ubuntu nautilus 文件浏览器中,Ctrl + L可以将地址变为字符串方便复制

Ubuntu 16.04发wifi

解压zip乱码

    使用
    1
    unzip -O CP936 xxx.zip
    Copied!

Ubuntu kernel 更新后无法登录循环登录

    新装了显卡驱动,然后发现过了几天重启就没法登录了,ssh可以登录,-X 登录提示 .Xauthority unwritable
    重装NVIDIA显卡驱动,home目录下删除.Xauthor*几个目录
    重启,问题解决

安装NVIDIA官方驱动

    根据自己显卡下载对应驱动:http://www.nvidia.cn/Download/index.aspx?lang=cn
    ctrl alt f1进入命令行模式,运行如下命令:
    1
    sudo service lightdm stop
    2
    sudo ./NVIDIA-Linux-x86_64-367.57.run
    Copied!
    一路确定
    然后sudo reboot

卸载Nvidia官方驱动

卸载,很简单,加上 --uninstall 选项再运行一遍安装程序就可以了。例如:假设你的安装程序是 NVIDIA-Linux-x86-169.12-pkg1.run 的话,在 root 下键入 ./NVIDIA-Linux-x86-169.12-pkg1.run --uninstall 就可以卸载了。欲了解安装程序的更多选项,请使用 ./NVIDIA-Linux-x86-169.12-pkg1.run -h 或 ./NVIDIA-Linux-x86-169.12-pkg1.run -A 进行查看。

rar

    ubuntu 默认的解压工具不能解压rar,需要安装rar和unrar
    附上各种解压命令的链接
    1
    sudo apt-get install rar
    2
    sudo apt-get install unrar
    3
    # 解压
    4
    sudo rar x abc.rar
    5
    # 压缩
    6
    sudo rar a abc.rar abc
    Copied!
    ssh免密码登录
    看这个链接
最关键的命令是
ssh-keygen -t rsa

MatlabR2015b卡在启动界面

    要用sudo运行 matlab
    附上matlab安装教程
    如果启动matlab出现crash,段错误等等,执行:
    1
    sudo apt-get install matlab-support
    Copied!
按提示执行并确认,rename什么的都要选yes

Ubuntu 安装nginx并配置web前端服务器

1
sudo apt-get install nginx
2
vi mywebsite.conf
Copied!
写入
1
server {
2
listen 8080;
3
charset utf-8;
4
root /home/your/wesite;
5
location / {
6
}
7
}
Copied!
配置到nginx
1
cd /etc/nginx/conf.d
2
sudo ln -s /your/conf/path/mywebsite.conf
Copied!
注意网站不能在/root目录下,否则一定会出现403
重启nginx
1
sudo nginx -s reload
Copied!

ssh反向代理访问内网

    参考>>,采用autossh
    需要注意设置GatewayPorts yes,参考>>
    其他内网穿透的方法还有teamviewer, openvpn, ngrok,有空再研究看看

编译opencv

    当opencv放在ntfs格式的磁盘上,并在ubuntu上编译时,会有如下错误:
CMake fails to deterimine the bitness of target platform. opencv ubuntu

Caffe官网安装教程没告诉你的东西

    Ubuntu上,hdf5是带serial的,需要添加头文件和lib:
      在Make.config中,修改:
1
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
Copied!
或者直接运行
1
find . -type f -exec sed -i -e 's^"hdf5.h"^"hdf5/serial/hdf5.h"^g' -e 's^"hdf5_hl.h"^"hdf5/serial/hdf5_hl.h"^g' '{}' \;
Copied!
    连接hdf5的库:
1
cd /usr/lib/x86_64-linux-gnu
2
sudo ln -s libhdf5_serial.so.8.0.2 libhdf5.so
3
sudo ln -s libhdf5_serial_hl.so.8.0.2 libhdf5_hl.so
Copied!
    make pycaffe之后,需要在~/.bashrc添加pythonpath:
1
export PYTHONPATH=/path/to/caffe/python:$PYTHONPATH
Copied!
    如果pycaffe使用了anaconda的numpy,关联了mkl,则需要在~/.bashrc中添加mkl的preload
1
export LD_PRELOAD=/opt/intel/mkl/lib/intel64/libmkl_core.so:/opt/intel/mkl/lib/intel64/libmkl_sequential.so
Copied!
    apt-get 安装的protobuf是跟随ubuntu g++版本的,但cuda的安装是落后于g++版本的,如果g++降级过,用这个低版本g++编译caffe时,会导致找不到高版本的protobuf,应当将g++升级回来:
1
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.4 20
Copied!
但是g++升级又会导致编译时cuda不兼容,实际上cuda不是完全不兼容,只要把/usr/local/cuda/include/host_config.h中的这三行注释掉就行:
1
//#if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ > 3)
2
3
//#error -- unsupported GNU version! gcc versions later than 5.3 are not supported!
4
5
//#endif /* __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ > 1) */
Copied!
    caffe编译时只兼容apt-get的protobuf,不兼容其他高版本的,如果做了上面的修改仍然有问题,需要将系统中(比如anaconda中)的其他protobuf卸载
    caffe python3, make pycaffe会提示找不到-lboost_python3,需要:
1
sudo ln -s libboost_python-py35.so libboost_python3.so
Copied!

OpenCV GPU编译CUDA-8兼容问题

查看端口占用

1
netstat -ap | grep 8080
Copied!

ubuntu 破解密码

screen 常用命令

    start new session
screen -S sessionname
    detach and kill session:
$ screen -X -S [session # you want to kill] quit
    detach current session
$ screen -d [session id]
    switch to other session
$ screen -r session id
    show sessions
$ screen -r
screen -list
    screen中滚动屏幕
ctrl+a+[进入复制模式,然后就可以上下左右键控制了

GCC降级

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100

cmake

编写CMakeLists.txt,然后cmake .,然后make,也可以建立一个build目录,在里边cmake ..,然后 make,使得生成的文件都在build里,CMakeLists.txt例子:
1
project(hello_world)
2
add_library(lib0 lib0.cpp)
3
add_executable(hello_world hello_world.cpp)
4
target_link_library(hello_world lib0)
Copied!

nvidia解占用

fuser -v /dev/nvidia*

过滤想要的文本行

awk 'NR%10==0' file

Ubuntu 18.04录屏

ctrl+shift+alt+r 开启和关闭录制

VSCode离线安装插件

code --install-extension xxx.vsix

Ubuntu-server 18.04 安装图形化界面环境

1.安装x-windows的基础
sudo apt-get install -fy x-window-system-core
2.安装gnome基础
sudo apt-get install -fy gnome-core
3.安装中文显示(建议安装)
sudo apt install language-pack-gnome-zh language-pack-zh language-support-zh-hans language-support-zh-hant language-support-zh
4.安装中文输入法
sudo apt install ibus-pinyin sudo apt install ibus-libpinyin sudo apt install fcitx
5.进入图形界面:startx
6.退出图形桌面:ctrl + alt + backspace
7.卸载gnome桌面环境
sudo apt-get –purge remove liborbit2

cmake upgrade without uninstall older version

1
cd ~/Downloads/cmake-3.12.0-rc3/ # or wherever you downloaded cmake
2
./bootstrap --prefix=$HOME/cmake-install
3
make
4
make install
5
export PATH=$HOME/cmake-install/bin:$PATH
6
export CMAKE_PREFIX_PATH=$HOME/cmake-install:$CMAKE_PREFIX_PATH
Copied!
最近更新 1mo ago