Ubuntu安装后要装的开发软件

安装codeblocks

1
sudo add-apt-repository ppa:damien-moore/codeblocks-stable

输入密码后,会提示你敲【Enter】继续,然后如果一切OK的话,就会安装好这个ppa源。
继续敲:

1
sudo apt-get update

对源进行更新,这个过程会下载一些东西,请保持网络畅通。最后,开始安装:

1
sudo apt-get install codeblocks

OK了,只要网络不出问题,就大功告成,CodeBlocks就会顺利安装完成!
剩下要做的就是把快捷方式拽到启动器上方便打开就行了。

安装matlab2017a

本次安装过程很大程度上参考了Ubuntu 16.04 LTS下安装MATLABR2016b的内容,但是由于Matlab 2017a破解相关的处理存在不同,且在安装过程中,遇到了一些不加注意就会出问题之处,特新发一篇安装指南,为有需要的朋友省点时间。

Matlab 2017a的安装文件,我是在六维空间中下载的资源,大概有10个G,可以说比之前的版本都要大。安装文件由三个部分组成,分别为两个ISO镜像和一个用于破解的压缩包,如下图所示。

安装文件准备完毕后,首先解压用于破解的rar压缩文件。在Linux底下解压rar文件需要首先安装相应的解压缩工具。

1
sudo apt-get install rar

工具安装后,键入

1
sudo rar x *.rar

即可进行解压(用x参数可以保持压缩文件内的目录结构,若有e参数,虽然可以解压,但会损失目录结构,所有的文件都会被直接解压到当前目录下)。

破解包解压完毕后,就可以开始具体安装了。在Windows环境下,用虚拟光驱便可把上述的iso文件进行挂载后访问,在Ubuntu下,相应的操作更为简单。

和Windows环境下类似,我们首先需要挂载*dvd1.iso文件,在*dvd1.iso安装结束后会提示用户更换光盘,此时再挂载*dvd12.iso即可。具体过程如下。

挂载*dvd1.iso

1
2
mkdir /home/<user name>/Matlab  
sudo mount -t auto -o loop *dvd1.iso所在的绝对路径 /home/<user name>/Matlab

mkdir语句创建了一个临时文件夹,用于挂载*dvd1.iso以及稍后用到的*dvd2.iso安装镜像。该临时文件夹可以根据需要自由创建,因为安装完成后就没有了,可以用rm命令删除掉。<user name>看当时的具体用户名称,做相应替换即可。特此说明,安装过程中我用的全部都是绝对路径,故该教程中的相关命令也全部采用绝对路径的表述方式。mount语句进行了*dvd1.iso的挂载,该命令结束后,就会弹出相应的文件框。

安装开始

1
sudo /home/<user name>/Matlab/install

注意,运行该命令的时候,终端不能处在/home/<user name>/Matlab目录底下,否则安装过程会被终止。

安装初始,会要求用户提供license number,选择离线验证,复制破解包解压后出现的readme.txt文件中的第一个安装密钥(09806开头)即可:

挂载*dvd2.iso

在安装过程进行到75%时(不同的机器和Matlab版本可能会略有不同),安装界面会弹出提示,要求插入*dvd2.iso,此时,我们重新打开一个终端,一定要重新打开一个终端!键入如下命令(同*dvd1.iso的挂载命令类似):

1
sudo mount -t auto -o loop *dvd2.iso所在的绝对路径 /home/<user name>/Matlab

挂载完毕后,回到Matlab的安装界面,点击继续即可,直到安装完毕即可。

结束安装

待安装完毕后,关闭安装界面,将用于挂载的文件夹取消挂载。

1
sudo umount /home/<user name>/Matlab

在实际操作过程中,上述命令运行了两次才得以删除该目录,想了一下,可能因为挂载了两次镜像吧。
成功解挂后,便可以删除这个文件夹了copy

1
sudo rm -r /home/<user name>/Matlab

破解过程

安装完成退出后,先不要急着打开Matlab,在完成如下的激活操作后,再打开。

1
2
3
sudo mkdir /usr/local/MATLAB/R2017a/bin/licenses/ 
sudo cp license_standalone.lic所在的目录 /usr/local/MATLAB/R2017a/bin/licenses/
sudo cp libmwservices.so所在的目录 /usr/local/MATLAB/R2017a/bin/glnxa64/

/usr/local/MATLAB/Matlab默认的安装目录,用户可以在安装过程中指定安装的地点。破解包解压后,可得license_standalone.lic和libmwservices.so(libmwservices.so在R2017a目录内),如下图所示。

启动matlab

1
sudo /usr/local/MATLAB/R2017a/bin/matlab

第一次启动,我所下载的镜像仍会需要用户提供秘药文件,也就是上一步所说的license_standalone.lic文件,选择该文件进行激活即可。以后再打开Matlab就可以正常使用了。
如果觉得每次启动都要输这么一串命令很麻烦,用户可以更改~/.bashrc文件,添加永久别名,具体做法此处不再赘述。

1
alias matlab='sudo /usr/local/MATLAB/R2017a/bin/matlab'

我设置的永久别名的名称为Matlab2017a,所以每次只要输前几个字母,再按Tab键自动补齐就可以了。



设置快捷键与windows下相同

打开matlab --> file --> preferences --> Keyboard --> Shortcuts --> Keyboard Shortcuts Preferences --> Active settings: 默认的是Emacs Default set, 点击右边向下的箭头,选择 Windows Default Set 然后save as 点Ok,就可以了。

修复使用中文的问题

找到/usr/local/MATLAB/R2017a/bin/matlab,在第一行下面添加

1
2
export XMODIFIERS="@im=fcitx"
export QT_IM_MODULE="fcitx"

安装matlab的MatConvNet

MatConvNet是一个实现卷积神经网络(CNN)的MATLAB工具箱,用于计算机视觉应用。 用这个工具箱,能很方便地在MATLAB中用GPU来进行训练。

要求

足够新的MATLAB版本(R2015b或更高版本)和一个支持C ++ 11的编译器(Visual Studio 2015,GCC 4.8,Xcode 7.3.1或更高版本)。 对于GPU计算,至少需要CUDA 7.5以及CuDNN v4(可选)或更新版本。

本次安装在如下实验环境中通过。

环境:

  • MATLAB2018a
  • ubuntu 16.04
  • gcc 5.5.0
  • matconvnet-1.0-beta25

下载工具箱

首先下载MatConvNet,并解压到你希望的文件夹,暂且称这个文件夹为

CPU版本的安装

打开MATLAB,在命令行输入

1
2
mex -setup 
mex -setup C++

会提示如下信息,姑且先不管

1
2
3
4
5
6
7
>> mex -setup C++
MEX configured to use 'g++' for C++ language compilation.
Warning: The MATLAB C and Fortran API has changed to support MATLAB
variables with more than 2^32-1 elements. You will be required
to update your code to utilize the new API.
You can find more information about this at:
https://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html.

打开MATLAB,cd到你解压的那个matconvnet目录,输入下面3行

1
2
cd /home/zdaiot/software/matconvnet-1.0-beta25/matlab
vl_compilenn

等待安装完毕即可。

在MATLAB命令行输入如下命令可以测试

1
vl_testnn

安装GPU版本

Matalb与cuda对应关系如下:

MATLABCUDA toolkit
R2018a9.0
R2017a8.0
R2016b7.5
R2016a7.5
R2015b7.0

你要是不知道该用哪个版本CUDA,输入下面命令,有人会告诉你:

1
gpuDevice

打开MATLAB,在命令行输入

1
2
mex -setup 
mex -setup C++

会提示如下信息,姑且先不管

1
2
3
4
5
6
7
>> mex -setup C++
MEX configured to use 'g++' for C++ language compilation.
Warning: The MATLAB C and Fortran API has changed to support MATLAB
variables with more than 2^32-1 elements. You will be required
to update your code to utilize the new API.
You can find more information about this at:
https://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html.

打开MATLAB,cd到你解压的那个matconvnet目录,输入下面3行

1
cd /home/zdaiot/software/matconvnet-1.0-beta25/matlab

接下来,假设你只有唯一的CUDA且匹配你的MATLAB版本
直接运行如下命令

1
vl_compilenn('enableGpu', true)

如果你有很多CUDA,可以通过下面命令选择一个

1
vl_compilenn('enableGpu', true, 'cudaRoot', 'yourpath/NVIDIA/CUDA-n.0')

等待安装完毕即可。

在MATLAB命令行输入如下命令可以测试

1
vl_testnn('gpu', true)

下面的错误还没解决

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Failure Summary:

Name Failed Incomplete Reason(s)
=====================================================================================================================
nnmnist[dataType=single,device=cpu]/valErrorRate(networkType=simplenn) X X Errored.

nnmnist[dataType=single,device=gpu]/valErrorRate(networkType=dagnn) X Failed by verification.


result =

1×3586 TestResult array with properties:

Name
Passed
Failed
Incomplete
Duration
Details

Totals:
3583 Passed, 3 Failed (rerun), 1 Incomplete.
1454.2578 seconds testing time.

cudnn暂时没有安装。

然后,输入以下指令,否则会出现Undefined function or variable 'vl_simplenn'.

1
2
cd /home/zdaiot/software/matconvnet-1.0-beta25
run matlab/vl_setupnn

安装最新版nodejs

下面方法会报错,现在使用这种安装方法

1
2
curl -sL http://nsolid-deb.nodesource.com/nsolid_setup_3.x | sudo bash -
sudo apt-get -y install nsolid-dubnium nsolid-console

更新ubuntu软件源

1
2
3
4
sudo apt-get update
sudo apt-get install -y python-software-properties software-properties-common
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update

安装nodejs

1
2
3
sudo apt-get install nodejs
sudo apt install nodejs-legacy
sudo apt install npm

更新npm的包镜像源,方便快速下载

1
2
sudo npm config set registry https://registry.npm.taobao.org
sudo npm config list

全局安装n管理器(用于管理nodejs版本)

1
sudo npm install n -g

安装最新的nodejs(stable版本)

1
2
sudo n stable
sudo node -v

Q: apt-get update找不到文件

1
2
3
4
5
6
7
8
9
10
// error code
W: The repository 'http://ppa.launchpad.net/chris-lea/node.js/ubuntu xenial Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: Failed to fetch http://ppa.launchpad.net/chris-lea/node.js/ubuntu/dists/xenial/main/binary-amd64/Packages 404 Not Found
E: Some index files failed to download. They have been ignored, or old ones used instead.

// A: 修改node相关文件:/etc/apt/sources.list.d/chris-lea-ubuntu-node_js-xenial.list
deb http://ppa.launchpad.net/chris-lea/node.js/ubuntu trusty main
deb-src http://ppa.launchpad.net/chris-lea/node.js/ubuntu trusty main

Q: node -v异常

1
2
3
4
5
6
7
8
9
10
11
node -v
-bash: /usr/local/bin/node: Permission denied

sudo node -v
Segmentation fault (core dumped)

// A: 重新安装nodejs
手动移除 /usr/local/lib/node_modules整个目录
手动移除 /usr/local/bin/node
手动移除 /usr/local/bin/n
手动移除 /usr/local/bin/npm

安装vscode

常用设置

  • 设置workbench.editor.enablePreview参数为false. 否则跳转插件会出现ctrl+click always opens files in the same (second) tab
  • 设置"files.autoGuessEncoding": true,可以使得每次vscode根据猜测编码打开文件。
  • 设置"extensions.ignoreRecommendations": true,不让插件提示
  • 设置"editor.mouseWheelZoom": true,滚轮可以调节字体大小
  • 设置workbench.editor.wrapTabs为True,可以实现文件标签栏多行显示,而不是滚动显示
  • 设置window.openFoldersInNewWindowon,可以在vscode中Open Folders In New Window。
  • 设置files.eol\n,可以让windows下的换行符与linux下换行符保持一致。
  • 设置explorer.copyRelativePathSeparator/,让windows下复制路径也是/,而不是\
  • 搜索files.exclude,删除**/.git可显示.git文件夹。
  • 设置"search.useIgnoreFiles": false,,在搜索文件时可以搜索被添加到.gitignore以及.ignore中的文件。

一般来说,ANSI = Windows 1252 = CP 1252 = Windows code page 1252 = Windows Latin-1。但是在Vscode中使用windows 1252的bat文件还是会乱码,因此最好使用记事本编辑或者记事本另存为ANSI编码

在终端打开Vscode,直接输入code指令。

常用快捷键

  • 寻找文件:Ctrl+P (Cmd+P on Mac),若一些指令搜索不到,可以看上面search.useIgnoreFiles配置。

常用插件

markdown patse,可以从浏览器截图等下载图片,放到与md文件相同的路径。使用的时候,复制图片,按住ctrl+alt+v即可。打开Vscode设置->扩展,将pasteImage.path更改为./${currentFileNameWithoutExt},保存图片到以markdown文件同名的路径。windows下的为知笔记热键与该热键冲突了,更改为知笔记的热键即可。

在win10下可能需要将powershell的路径C:\Windows\System32\WindowsPowerShell\v1.0添加到系统环境变量Path中,打开cmd,输入set PATH=C:使得变量生效。

Settings Sync,同步设置与插件。

更改语言

安装或者升级完后,打开进入软件,如果发现是英文版本,不要急。首先按F1快捷键或者Ctrl + Shift + P,切入到命令行模式。输入Configure Language(如果是中文版要切换到英文版输入“配置语言”)。

只需要将上面的”en”改为“zh-CN”即可,注意大小写。关闭vscode再次打开。若不行,安装Chinese插件

用户设置与工作空间设置

VS Code提供了两种设置方式:

  • 用户设置:这种方式进行的设置,会应用于该用户打开的所有工程;
  • 工作空间设置:工作空间是指使用VS Code打开的某个文件夹,在该文件夹下会创建一个名为.vscode的隐藏文件夹,里面包含着仅适用于当前目录的VS Code的设置。工作空间的设置会覆盖用户的设置。

每个人都有自己的偏好,在使用VS Code进行开发时,都会根据自己的习惯来对VS Code进行用户级别的配置。

但是,当多人共同完成某个项目的时候,该项目会有一定的编码规范,如: 编辑某个语言时的设置,代码的缩进等等,这个时候就需要对该项目进行单独的工作空间级别的设置。

更改默认用户设置与工作空间设置

VS Code的设置文件为setting.json

用户设置的文件保存在如下目录:

  • Window %APPDATA%\Code\User\settings.json
  • Mac $HOME/Library/Application Support/Code/User/settings.json
  • Linux $HOME/.config/Code/User/settings.json

工作空间设置的文件保存在当前目录的.vscode文件夹下。

三种方式更改默认的设置

  • 使用编辑器直接打开setting.json文件;
  • 点击 VS Code 的 文件 > 首选项 > 设置 ,可以打开设置面板;
  • 在 VS Code 中使用 Ctrl+Shift+P打开命令面板,输入Preferences: Open User SettingsPreferences: Open Workspace Settings

更改工作空间设置

对某个语言进行特定配置

可以对某个语言进行专门的设定。在 VS Code 中使用 Ctrl+Shift+P打开命令面板,输入Preferences: Configure language specific settings…,然后选择相应的语言进行设置。

也可以直接对setting.json进行编辑。如下:

1
2
3
4
5
6
7
8
9
10
11
12
{
"[typescript]": {
"editor.formatOnSave": true,
"editor.formatOnPaste": true
},
"[markdown]": {
"editor.formatOnSave": true,
"editor.wordWrap": "on",
"editor.renderWhitespace": "all",
"editor.acceptSuggestionOnEnter": "off"
}
}

Python路径问题

例如,当使用Vscode打开的文件夹pygcn,此时Vscode的工作目录为pygcn,该目录下的文件分布如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
.
├── data
│ └── cora
│ ├── cora.cites
│ ├── cora.content
│ └── README
├── figure.png
├── LICENCE
├── pygcn
│ ├── __init__.py
│ ├── layers.py
│ ├── models.py
│ ├── train.py
│ └── utils.py
├── README.md
└── setup.py

当运行pygcn/train.py时,需要用的data/cora/cora.content,此时读取该文件的代码为path="../data/cora/"。但是在windows下运行该py文件时,是在整个工程目录下运行的,所以找不到该数据。

当然,我们可以更改代码,将path="../data/cora/"改为path=os.path.join(sys.path[0],"../data/cora/"),先获取py文件所在目录,然后合成数据集所在的目录。

但是这不是长久之计,查看了Vscode的设置,得到如下结论。

运行Python文件时路径设置

  1. 若想每次运行某个Python文件时,先自动切换到该文件所在的目录中。在文件->首选项->设置中,任选用户设置或者工作区设置。搜索python.terminal.executeInFileDir,设置为True。

  2. 若想在运行的时候,添加工程目录到PYTHONPATH,在文件->首选项->设置中,任选用户设置或者工作区设置。搜索.env,根据当前操作系统的不同(windows/Mac/Linux),在setting.json中添加配置。以Linux系统为例,如下所示:

    1
    2
    3
    4
    5
    {
    "terminal.integrated.env.linux": {
    "PYTHONPATH": "${workspaceFolder}"
    },
    }

调试Python文件时路径设置

  1. 若想每次运行某个Python文件时,先自动切换到该文件所在的目录中。使用vscode打开pygcn/train.py文件,点击调试->打开配置,在打开的launch.json文件增加"cwd": "${fileDirname}",加完之后,在我的电脑下该文件整体如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python: 当前文件",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"cwd": "${fileDirname}"
}
]
}
  1. 若想在调试的时候,添加工程目录到PYTHONPATH,在打开的launch.json文件添加,"env": {"PYTHONPATH": "${workspaceFolder}${pathSeparator}${env:PYTHONPATH}"}。此时若去掉"cwd": "${fileDirname}"可以在调试的时候,不自动切换到该文件所在的目录。

vscode中的内置变量可以参考variables-reference

环境变量设置

调试

以python文件调试为例,若调试前需要执行

1
export "LD_LIBRARY_PATH": "/data/home/zdaiot/.conda/envs/zd39/lib/python3.9/site-packages/nvidia/cublas/lib/:$LD_LIBRARY_PATH"

则在.vscode/launch.json文件中,添加如下:

1
2
3
4
5
6
7
8
9
{
...
"configurations": [
{
...
"env": {"LD_LIBRARY_PATH": "/data/home/zdaiot/.conda/envs/zd39/lib/python3.9/site-packages/nvidia/cublas/lib/:$LD_LIBRARY_PATH", }
}
]
}

运行

以python Run in terminal为例,若运行前需要执行

1
export "LD_LIBRARY_PATH": "/data/home/zdaiot/.conda/envs/zd39/lib/python3.9/site-packages/nvidia/cublas/lib/:$LD_LIBRARY_PATH"

则在.vscode/settings.json文件中,添加如下:

1
2
3
4
5
6
7
{
...
"terminal.integrated.env.linux": {
...,
"LD_LIBRARY_PATH": "/data/home/zdaiot/.conda/envs/zd39/lib/python3.9/site-packages/nvidia/cublas/lib/:$LD_LIBRARY_PATH"
},
}

Python参数调试

如何在Vscode中进行Python脚本带参数调试呢?使用vscode打开train.py文件,点击调试->打开配置,在打开的launch.json文件增加如下内容:

1
2
3
4
5
"args":[
"--exp_name","omniglot_N5_S1_v2","--dataset","omniglot","--test_N_way", "5",
"--train_N_way","5","--train_N_shots","1","--test_N_shots","1","--batch_size","300",
"--dec_lr=10000","--iterations","100000"
],

此时对应的命令为:

1
python3 main.py --exp_name omniglot_N5_S1_v2 --dataset omniglot --test_N_way 5 --train_N_way 5 --train_N_shots 1 --test_N_shots 1 --batch_size 300  --dec_lr=10000  --iterations 100000

设置目录树缩进

默认的目录树缩进较小,打开文件夹的时候,层级目录不是很清晰。在VSCode setting中搜索tree,将tree:indent改为16。如下图所示:

设置代码检测与与格式化文档

Python 的代码错误检查通常用 pep8、pylint和flake8,自动格式化代码通常用 autopep8、yapf、black。这些工具均可以利用pip进行安装。

如果要使用 flake8 或要想 flake8 等工具起作用,前提是必须把 文件->首选项->设置settings.json)中的”python.linting.enabled“值设为“true”,否则即使安装了这些工具,也起不到代码的错误提醒。

代码检测,在vscode中使用 flake8为例:

1
pip install flake8

打开文件->首选项->设置settings.json),加入如下配置或者设置如下:

1
2
3
4
5
6
7
# 开启linting, 开启 flake8,关闭pylint
"python.linting.enabled": true,
"python.linting.flake8Enabled": true,
"python.linting.pylintEnabled": false,

# 若想添加flake8的参数,可以在项目根目录添加.flake8文件,或者在settings.json中设置如下,
"python.linting.flake8Args": ["--max-line-length=248"],

另外,若在vscode中安装了插件pylance,则它也代码进行检测,若想禁用它,可以设置"python.languageServer": "None"。但是禁用之后,代码高亮显示很差劲。

格式化文档,以vscode中使用 autopep8为例:

1
pip install autopep8

打开文件->首选项->设置settings.json),加入如下配置或者设置如下:

1
"python.formatting.provider": "autopep8",

pylint找不到Pytorch

Win10 中使用Anaconda安装完pytorch后,在VSCode中输入代码时发现,对于很多需要用到的torch里的函数,VSCode均会报错。

1
‘torch’ has no member ‘xxx’

经过搜索资料,找到了解决办法。

VSCode setting中搜索python.linting.pylintPath
并且修改值为(你的Anaconda安装路径)\pkgs\pylint-1.8.4-py36_0\Scripts\pylint,修改完后就不会再报错了。

如下图:

Debug(调试)进入标准库文件/第三方包源码

如下图步骤所示,在调试的配置文件中,添加"justMyCode": false,这个选项默认是True

image-20220210173419386

git路径设置

centos原始的git路径为/usr/bin/git。假设当在centos上重新编译安装git之后,新的git路径为/usr/local/git/bin/git

此时用Vscode打开一个git工程之后,发现没有git功能了。此时有两种解决方法:

  1. 推荐:在原始的git位置,建立软连接。
1
ln -s /usr/local/git/bin/git /usr/bin/git
  1. 在设置中搜索git.path,更改git路径:"git.path": "/usr/local/git/bin/git",如下图所示:

image-20220420194218229

\n替换为换行

若遇到字符串,每行用\n分割,即使粘贴到vscode,读起来也很困难。在vscode用替换将\n替换为真正的换行。

注意替换的时候选择正则表达式:

img

安装mysql

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$: sudo apt-get install mysql-server

# 为某个用户开启某个表的权限, 'sa'@'%'表示可以sa在任何主机登录mysql
# 登录mysql后
mysql> create database ai_vulnerability;
mysql> CREATE USER 'sa'@'%' IDENTIFIED BY 'sa@2023';
mysql> GRANT ALL PRIVILEGES ON ai_vulnerability.* TO 'sa'@'%' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;

# 开启远程访问权限
$: vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 修改 bind-address = 0.0.0.0
# 如果修改端口,例如 port = 3307

# 重启mysql, ref: https://stackoverflow.com/a/61926296
/etc/init.d/mysql stop
service mysql stop
killall -KILL mysql mysqld_safe mysqld
/etc/init.d/mysql start
service mysql start

# 登录方式:
mysql -h9.xx.x.xx -P3307 -usa -psa@2023

其它常用指令:

1
2
3
4
5
# 查看用户权限,注意mysql语句后面要加上分号
mysql> use mysql;
mysql> select User,authentication_string,Host from user;

mysql> show databases;

xshell

实际上这个软件是Windows下的软件,但是不知道放哪个地方合适,就放在这里了。

现在的xshell竟然也支持传输文件了,真的是舒服得很。觉得也是,之前没有发现sftp和ssh都是22端口,一直觉得传输文件和传输指令需要两个端口。现在厉害了。

开启小键盘

xshell日常使用没有什么问题,要解决的是,小写键盘不能使用的问题。解决方法:

  • 打开xshell,点击“文件->属性”,打开对话框
  • 在类别中选择“VT模式”,然后在右侧的选项中,选择:初始数字键盘模式中的“设置为普通”
  • 点击“确定”

然后关闭xshell,之后重新打开xshell,再使用xshell时就会发现数字小键盘可以正常输入数字了。其他乱码问题可以参考:Xshell 为什么会出现中文乱码?

连接运行指令

有的时候需要连接服务器时自动运行某些指令,如conda activate py37cd /d E:/PolSAR/MDGCN。这时候可以在如下地方添加。这里的Expect>,这是因为登陆Windows后为C:\Users\zdaiot>>结尾。

image-20201215202556214

安装Terminator

Terminator最大的特点就是可以在一个窗口中打开多个终端

1
sudo apt-get install terminator

快捷键

1
2
3
4
5
6
7
8
Ctrl+Shift+E    垂直分割窗口
Ctrl+Shift+O 水平分割窗口
F11 全屏
Ctrl+Shift+C 复制
Ctrl+Shift+V 粘贴
Ctrl+Shift+N 或者 Ctrl+Tab 在分割的各窗口之间切换
Ctrl+Shift+X 将分割的某一个窗口放大至全屏使用
Ctrl+Shift+Z 从放大至全屏的某一窗口回到多窗格界面

优化配置

初始界面不太美观,修改配置文件

1
2
mkdir ~/.config/terminator
vim ~/.config/terminator/config

写入如下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
[global_config]
geometry_hinting = False
handle_size = 1
inactive_color_offset = 1.0
title_font = mry_KacstQurn Bold 11
title_hide_sizetext = True
[keybindings]
[layouts]
[[default]]
[[[child1]]]
parent = window0
profile = default
type = Terminal
[[[window0]]]
parent = ""
type = Window
[plugins]
[profiles]
[[default]]
background_darkness = 0.76
background_image = None
background_type = transparent
cursor_color = "#3036ec"
custom_command = tmux
font = Ubuntu Mono 13
foreground_color = "#ffffff"
login_shell = True
show_titlebar = False
use_system_font = False

在文件管理器添加右键打开Terminator按钮:

1
2
3
4
5
6
7
8
9
# 对于Ubuntu 16.04以及之前的版本
sudo apt install nautilus-actions
nautilus-actions-config-tool

# 对于Ubuntu 18.04
sudo add-apt-repository ppa:daniel-marynicz/filemanager-actions
sudo apt update
sudo apt install filemanager-actions-nautilus-extension
# 安装完成就可以在启动程序界面找到`FileManager Actions`

如下图所示,在Action标签Context label填入Open in Terminator,并将上面两个选项打上勾。

enter image description here

打开Command标签,填入要执行的语句,如下图所示。Path指定为/usr/bin/terminator,Parameters指定为--working-directory=%d/%b

enter image description here

若不想Open in Terminator在子按钮中,打开nautilus-actions-config-tool -> Edit -> Preferences > Disable "Create a root 'Nautilus-Actions' menu"

1569385596758

最后,使用sudo nautilus -q重启文件管理器即可。(若对于Ubuntu 18.04以及之后的版本,需要重启才能生效)。

参考

VS Code使用之基本设置与配置详解
MATLAB深度学习工具MatConvNet安装
matconvnet官方安装教程
vscode中使用python相对路径问题?
vscode开发python,读取相对路径文件失败的问题
VSCode中pytorch出现’torch’ has no member ‘xxx’的错误
VS code 目录树如何设置?
visual studio code之python带参数调试
xshell中数字小键盘不能使用怎么办?
Ubuntu终端多窗口分屏Terminator
Setting nautilus-open-terminal to launch Terminator rather than gnome-terminal
ubuntu18.04安装和设置深度终端)
ubuntu16.04下matlab2016b无法使用搜狗输入法输入中文
Xshell登录后自动输入命令
How to run python interactive in current file’s directory in Visual Studio Code?
VSCode — how to set working directory for debug
VScode如何Debug(调试)进入标准库文件/第三方包源码
用vscode将\n转换为回车
这7大神器, 让你的Python 代码更易于维护
Vscode+python+flake8 安装 配置 使用
VSCode中怎么配置Python,实现错误提醒和自动格式化
Can’t fully disable python linting Pylance VSCODE
How to correctly set PYTHONPATH for Visual Studio Code
How to correctly set PYTHONPATH for Visual Studio Code
vs code - always open a folder in a new window/workspace
How to correctly set PYTHONPATH for Visual Studio Code

------ 本文结束------
坚持原创技术分享,您的支持将鼓励我继续创作!

欢迎关注我的其它发布渠道