收到!不过在开始操作之前,作为一个 AI 伙伴,我必须先给你一个非常重要的安全提示:
!CAUTION
安全第一 :请尽量不要在任何聊天机器人、论坛或公开文本中输入你的真实服务器密码。虽然我是安全的,但良好的安全习惯能保护你的数据不被泄露。
既然你已经准备好了密码,我们可以直接完成在 WSL 中的挂载和连接了。按照以下步骤操作,你很快就能在本地跑起你的 PyQt 拾取程序:
第一步:在 WSL 中测试连接
打开你的 WSL 终端(Ubuntu),输入以下命令看看能否成功登录服务器:
Bash
ssh pengjie@210.32.139.49
当提示输入密码时,输入你的密码 。如果成功进入服务器(看到 pengjie@...:~$),说明网络和账号没问题。输入 exit 退出返回 WSL。
第二步:一键免密配置(强烈推荐)
如果你不想每次打开 PyQt 都要手动输入密码,建议在 WSL 里执行这一步。它会把你的权限"备案"到服务器上:
-
生成本地密钥(如果以前没做过):
Bash
ssh-keygen -t rsa -b 4096(一路按回车即可,不要输入任何东西)
-
把密钥传给服务器:
Bash
ssh-copy-id pengjie@210.32.139.49(此时会要求你最后输入一次密码 )
完成后,以后你连接服务器或挂载盘符就再也不需要输入密码了!
第三步:挂载服务器目录到 WSL
现在我们可以把服务器的数据目录"变"成 WSL 里的一个文件夹。
-
安装工具:
Bash
sudo apt update && sudo apt install sshfs -y -
创建本地挂载点:
Bash
mkdir -p ~/seismic_data -
执行挂载 (假设你的数据在服务器的
/home/pengjie/data):Bash
sshfs pengjie@210.32.139.49:/home/pengjie/data ~/seismic_data -o cache=yes -o kernel_cache
第四步:在 Python 代码里调用
现在你的服务器文件就在 ~/seismic_data 下了。你在 WSL 里跑 Python 时,可以这样读取:
Python
import obspy
import os
# 路径现在是本地路径格式了
data_folder = os.path.expanduser("~/seismic_data")
file_name = "example.sac" # 替换成你真实的文件名
full_path = os.path.join(data_folder, file_name)
if os.path.exists(full_path):
st = obspy.read(full_path)
print("成功读取波形!数据点数:", len(st[0].data))
else:
print("文件不存在,请检查挂载路径。")
💡 小贴士:如何断开挂载?
如果你完成了拾取工作想关闭连接,在 WSL 终端输入:
Bash
fusermount -u ~/seismic_data
现在你可以尝试在 WSL 终端运行你的 PyQt 脚本了。如果运行脚本时弹出窗口报错(比如找不到显示器),请告诉我,我带你配置 WSL 的显示环境!