实验室服务器使用进阶

password
icon
AI summary
type
status
date
slug
summary
tags
category
Property
Nov 5, 2024 02:29 AM

零、服务器联网

有两种方式,选择其中一种即可,推荐第二种

1. 服务器联校园网


两种方式
  • 命令行方式:
把卡号和密码替换成自己的
 
  • 图形化方式:命令行输入firefox打开火狐浏览器,图形化登录校园网

2. 通过本地局域网代理


  • 在本地的Clash打开Allow LAN开关
notion image
  • 在终端家目录vim ~/.bashrc
notion image
G光标定位到最后,按i 进入编辑模式,添加如下两行
ESC 进入vim的命令模式,再输入:wq 即可保存退出
其中IPV4地址可以从本地命令行使用ipconfig看到
notion image
  • 执行source ~/.bashrc 使其生效
  • 验证能否上网 curl www.baidu.com ,返回一堆html表明已联网
  • 取消联网:
更加具体的参考这篇:

一、VSCode远程开发

VS Code 可以装很多很好用的插件

下载安装VSCode


notion image

VSCode中安装Remote Deveploment插件


notion image

VSCode远程服务器免密登录配置


本地环境生成密钥对

打开本地的Powershell或者cmd之类的终端执行 ssh-keygen -t rsa
提示按回车即可生成
密钥文件信息一般生成在用户.ssh文件下:C:\Users\${用户名}\.ssh
 

拷贝到远程服务器

本地环境里的公钥id_rsa.pub用记事本打开后,将内容拷贝到远端服务器的~/.ssh/authorized_keys文件(没有就创建一个)
notion image
notion image

本地配置文件更改

更新本地的.ssh下的配置文件config,按如下格式添加IdentityFile 即可实现免密登录
notion image

VSCode直连

接着就可以在VSCode远程资源管理器连接服务器了,首次连接时服务器最好先联网,因为它会在服务器端下载一些必要的东西放在~./vscode文件夹下
notion image
以上过程也可参考这篇教程:

VSCode 运行Python


拓展商店搜python ,安装完即可运行
notion image

VSCode Python可能遇到的问题


若无法连接到拓展商店,或者装了某个插件以后某个插件无法联网,可以尝试配置VSCode软件的代理:
notion image
配置完以后整个VSCode应该都能正常上网。
还要一些其它常见问题:

Pycharm远程开发


也可以不用VSCode,使用Pycharm,具体教程参考这篇:
使用pycharm2023.3远程连接

二、Github 学生认证及Copilot使用

注:
  • 申请过程中可能会遇到一些问题,多试几次
  • approved以后可能需要三到四天收到一封邮件
notion image
之后再插件商店搜索github copilot 和 github copilot chat安装即可免费使用
  • copilot 演示 ,写注释按Tab即可自动补全
    • notion image
  • copilot chat 在侧边栏,应该是一个在github代码语料上训练过的GPT,代码类的问题回答得很好
notion image

三、服务器图形界面远程

用Windows自带的即可,Win搜索 远程桌面连接
notion image
输入IP
notion image
选择 是
notion image
输入用户名,密码
notion image
即可进入Ubuntu的图形界面
notion image
首次使用会自动在家目录下添加一些桌面需要用到的文件夹,是正常的

四、必备工具:tmux的使用

Tmux 是一个终端复用器(terminal multiplexer),非常有用,属于常用的开发工具。类似的工具还有Screen等
比如我们在跑训练代码时,需要很长时间,这时可以放在tmux内执行,这样即使意外断开服务器连接,代码依然在服务器后台执行,训练不会断开,再次连接回服务器时仍可以找回上次的会话。
简单使用:
  • 安装:sudo apt-get install tmux
  • 确认一下tmux版本tmux -V,是>=2.6
命令/快捷键
描述
备注
tmux
创建新session
name是tmux默认生成的
tmux new -s xxname
新建时指定session名称
tmux ls
查看已经存在的session列表
tmux a -t xxname tmux a
连接指定的session 只有一个则不用指定
常用
<prefix> s
session列表
<prefix> $
关闭当前session
如果当前session中的所有window都关闭了,当前session也会随之关闭
<prefix> d
分离当前session与terminal窗口
常用
<prefix> c
创建新窗口
<prefix> m
切换鼠标模式
基本一直开着
<prefix> n
下一个window
<prefix> p
上一个window
<prefix> w
window窗口列表
<prefix> &
关闭window
<prefix> ,
重命名window
<prefix> %
左右分割pane
常用
<prefix> "
上下分割pane
常用
<prefix> o
切换到下一个pane
<prefix> !
将pane升级为window
<prefix> x 或者 Ctrl + d
关闭pane
常用
<prefix> z
全屏pane/恢复原状
常用
<prefix> [
进入复制模式
开启了鼠标模式可以直接用鼠标选择内容,并自动将选择内容放入缓冲区 有没有开启鼠标模式都可以,上、下、左、右、PgUp、PgDn、home和end按键移动光标位置到开始位置, ctrl+space,移动光标开始选择, alt+w 将选择的内容复制到缓冲区 注意,进入复制模式后,上面的所有按键都不需要加<prefix>
<prefix> PgUp
进入复制模式并向上翻一页
<prefix> =
缓存区列表
<prefix> ]
粘贴最后一个缓存区内容
<prefix> t
显示时间
花里胡哨,没啥用
<prefix> ?
命令列表
忘记快捷键了,现场学习下
shift+鼠标选中,Ctrl + Insert
复制到系统剪贴板
<prefix> e
进入.local配置文件
只更改.tmux.conf.local,确保不要更改.tmux.conf
默认的pane边界线太淡,可以在.local的配置文件改一下后面的数字:
notion image
 
 
上一篇
NeoVim入坑以及Windows Terminal美化
下一篇
站点开发日志
Loading...