Skip to main content

连接服务器

Tiu MoAbout 5 min

开始

安装教育版 PyCharm

Pycharm-学生免费专业版安装 - 知乎 (zhihu.com)open in new window

社区版PyCharm没有远程连接功能,专业版和教育版的才有。

配置项目环境

创建项目文件夹

$ cd YOUR_ROOT_PATH  # 一般为PycharmProjects或者桌面
$ mkdir YOUR_PROJECT_DIR  

打开 Terminal 新建环境

$ conda create -n YOUR_NAME python=3.x  # 创建环境
$ conda activate YOUR_NAME  # 激活环境

$ conda deactivate  # 退出当前环境
$ conda env list 或 $ conda info -e  # 查看当前环境列表
$ conda remove -n YOUR_NAME --all  # 删除虚拟环境
  1. 新建/打开 项目,选择python解释器

  2. Interpreter Settings 里修改解释器与mapping

装库

$ conda install pytorch torchvision torchaudio cudatoolkit=11.1 -c pytorch -c conda-forge 
$ pip3 install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple

运行文件

(1) 右键run, 然后去configurations里删除ip地址

# 过程略

(2) 终端运行

$ python xxx.py

(3) screen 运行(离线)tmux 更好用,所以换了

$ tmux new -s SESSION_NAME
$ tmux ls
$ tmux a -t SESSION_NAME

$ tmux kill-session -t SESSION_NAME
# 分离窗口
# 第一步:输入组合键 Ctrl+B,然后松开。
# 第二步:输入字母 d。

# 复制窗口
# 第一步:按 Ctrl+B 组合键,然后松开。
# 第二步:再单独按一下 c 键。

# 切换窗口
# 第一步:按 Ctrl-B 组合键,然后松开。
# 第二步:按数字 0 键。

按完前缀ctrl+B后,再按冒号:进入命令行模式,
输入以下命令:
$ set -g mouse on

ctrl+B + [ the 'Page Up/Down' 翻页
$ sudo apt-get install screen 或 $ sudo yum install screen

$ screen -S name  # 新建窗口并进入

$ screen -ls  # 列出窗口

There is a screen on:
2637.count (12/17/2015/10:00:32 AM) (Detached)

$ screen -r 2637  # 进入2637线程,恢复count会话窗口

会话分离 我们在一个窗口运行某个程序之后,想退出登录关闭terminal干点别的事,让程序在后台运行。这时就需要和窗口会话分离,有2种方式:

  1. 快捷键Ctrl a表示进入命令模式 在当前会话窗口中按Ctrl a +d快捷键可以实现分离,这时窗口会弹出[detached]的提示,并回到主窗口。
  2. screen -d name # 远程detach某个session,前提是已经跳出了name窗口

杀死会话窗口 如果想关掉一个多余的窗口,有3种方法:

kill -9 threadnum 例如在上面的2637,kill -9 2637 即可杀死线程,并杀死窗口

使用Ctrl a +k 杀死当前窗口和窗口中运行的程序

使用Ctrl a 然后输入quit命令退出Screen会话。需要注意的是,这样退出会杀死所有窗口并退出其中运行的所有程序

清除死去的窗口 当窗口被杀死后,再用screen -ls 可以看到该窗口后面的(??? dead)字样,说明窗口死了,但是仍在占用空间。这时需要清除窗口

$ screen -wipe #自动清除死去的窗口

2.5.3使用screen进行任务管理 当程序运行时间较长时,我们在当前Linux窗口直接运行程序,程序或许会因为网络问题异常终止。我们可以使用screen来解决本地突然离线的问题,因为screen相当于创建一个后台窗口在服务器,本地连接中断并不会影响正在运行的程序。我们在命令行敲入screen –ls命令,效果如图 2.21所示。

1.  # 常用的screen命令
2.  screen –S name  # 创建一个窗口  
3.  screen –ls  # 查看当前已经创建的窗口  
4.  screen –d –r name  # 回到名字为name的窗口  
5.  screen –X –S name quit  # 关闭名字为name的窗口

远程连接服务器

VSCode更好用

安装教育版 PyCharm

Pycharm-学生免费专业版安装 - 知乎 (zhihu.com)open in new window

创建项目文件夹

$ cd YOUR_ROOT_PATH  # 一般为PycharmProjects或者桌面
$ mkdir YOUR_PROJECT_DIR  

打开 Terminal 新建环境

$ conda create -n YOUR_NAME python=3.x  # 创建环境
$ conda activate YOUR_NAME  # 激活环境

$ conda deactivate  # 退出当前环境
$ conda env list 或 $ conda info -e  # 查看当前环境列表
$ conda remove -n YOUR_NAME --all  # 删除虚拟环境

装库

$ conda install pytorch torchvision torchaudio cudatoolkit=10.1 -c pytorch

新建/打开 项目,选择python解释器

Interpreter Settings 里修改解释器与mapping

1.本地创建项目

File-》New Project...

$ du -sh *  # 查看每一个占了空间
$ df  # 显示磁盘相关信息

$ ls  # 列出当前文件夹内容
$ cd YOUR_DIR_PATH  # 进入路径
$ mkdir YOUR_DIR_NAME  # 创建文件夹

Root ssh 远程连接

$ apt-get install -y openssh-server

$ sudo vim /etc/ssh/sshd_config

> PermitRootLogin yes
> PermitEmptyPasswords no

$ services ssh restart

免密链接

# 本地终端
$ ssh-keygen -t rsa -C "ANYTHING"  # 一路 Enter
$ vim "USERPATH/.ssh/id_rsa.pub" #e.g. /Users/tiumo/.ssh/id_rsa.pub # 打开密钥,手动复制

# 远程终端
$ mkdir .ssh 
$ cd .ssh
$ vim authorized_keys  #/home/leng/.ssh/authorized_keys #手动粘贴

改变文件用户权限

$ mv /home/guest/Documents/nemo /home/nemo

$ sudo cp /home/guest/.bashrc /home/nemo/.bashrc

$ sudo chown nemo.nemo -R nemo  # chown runoob:runoobgroup file1.txt 
# -R 表示当前前目录下的所有文件与子目录


sudo chmod 600 ××× (只有所有者有读和写的权限)
sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限)
sudo chmod 700 ××× (只有所有者有读和写以及执行的权限)
sudo chmod 666 ××× (每个人都有读和写的权限)
sudo chmod 777 ××× (每个人都有读和写以及执行的权限)

其中×××指文件名(也可以是文件夹名,不过要在chmod后加-ld)

递归加 -R

创建新用户

$ sudo adduser xxxx
$ usermod -aG sudo username  # 添加到 sudo 组
$ su - username  # 切换用户
$ sudo whoami # 显示当前
$ sudo ls -l /root  # 测试权限

$ sudo deluser `username` sudo

$ sudo deluser --remove-home tt
$ sudo deluser --remove-all-files tt  # 删除用户所有