Files
django.remote/__pycache__/remote_commands_tab.cpython-38.pyc

221 lines
19 KiB
Plaintext
Raw Normal View History

2025-08-31 11:00:32 +08:00
U
o<><6F>hE<00>@s<>ddlmZmZmZmZmZmZmZmZm Z m
2025-08-31 11:00:32 +08:00
Z
m Z m Z ddl mZmZmZddlmZGdd<05>de <0B>ZGdd<07>de<0F>ZGdd <09>d e<01>Zd
S) <0B>) <0C>QWidget<65> QVBoxLayout<75> QHBoxLayout<75>QLabel<65> QLineEdit<69> QPushButton<6F> QGroupBox<6F> QTextEdit<69> QMessageBox<6F> QFormLayout<75>QDialog<6F>QDialogButtonBox)<03>Qt<51>QThread<61>Signal)<01>loggercs&eZdZd<06>fdd<03> Zdd<05>Z<04>ZS)<07>PasswordDialogNcs<>t<00><00>|<01>|<00>d<01>|<00>d<02>t<04>}td<03>}|<02>|<03>t<07>|_|j<08> tj
<EFBFBD>|<02>|j<08>t t j t j B<00>}|j<0E>|j<10>|j<11>|j<12>|<02>|<04>|<00>|<02>dS)Nu 输入密码i,u请输入sudo密码:)<14>super<65>__init__<5F>setWindowTitle<6C>setMinimumWidthrr<00> addWidgetr<00>password_input<75> setEchoMode<64>Passwordr <00>Ok<4F>Cancel<65>accepted<65>connect<63>accept<70>rejected<65>reject<63> setLayout)<05>self<6C>parent<6E>layout<75>labelZ
button_box<EFBFBD><01> __class__<5F><00>SC:\Users\xiaji\Documents\个人文件夹\夏骥\桌面部署\remote_commands_tab.pyrs 
2025-08-31 11:00:32 +08:00


 
zPasswordDialog.__init__cCs
|j<00><01>S<00>N)r<00>text<78>r#r)r)r*<00> get_password szPasswordDialog.get_password)N)<06>__name__<5F>
__module__<EFBFBD> __qualname__rr.<00> __classcell__r)r)r'r*rsrcsDeZdZee<04>Zeee<04>Ze<03>Z<08>fdd<02>Z dd<04>Z
dd<06>Z <0B>Z S)<07>RemoteCommandThreadcs&t<00><00><01>||_||_d|_d|_dS<00>NF)rr<00>
ssh_client<EFBFBD>command<6E>password<72>waiting_for_password)r#r5r6r'r)r*r(s

zRemoteCommandThread.__init__cCs||_d|_dSr4)r7r8)r#r7r)r)r*<00> set_password/sz RemoteCommandThread.set_passwordc
CsL<00>z<>t<00>d|j<02><00><02>z,|jr(|j<03><04>nd}|r8|<01><05>s@td<02><01>WnXtk
2025-08-31 13:08:06 +08:00
r<EFBFBD>}z:t<00>dt|<02><01><00><02>|j <09>
d<04>|j <0B>
dd<06>WY<00>WdSd}~XYnXzL|j<03> d<07>\}}}|<04> <0A><00><0E><00><0F>}|r<>|j <09>
d|<06><00><02>t<00>d|<06><00><02>Wn8tk
<EFBFBD>r }zt<00>d t|<02><01><00><02>W5d}~XYnXd
|jk<06>r<>|j<02>d
d <0B>}|j<03> |<07>\}} }
d} |
D]4} |j <09>
| <0C>d | <0C><11>k<06>s~d | k<06>rVd} <00>q<><71>qV| <0B>r<>d|_|j<13>
<EFBFBD>|j<12>r<>|<00>d<0F><00>q<>|j<15>r<>|<08>|jd<00>|<08><17>n|j<03> |j<02>\}} }
d} | D]} | | 7} |j <09>
| <0C><00>q<>d}|
D]8} || 7}d | <0C><11>k<07>rd | k<07>r|j <09>
d| <0C><00><02><00>q| j<18><19>}|dk<02>r<>t<00>d|j<02><00><02>|j <0B>
dd<15>n$t<00>d|<0F><00><02>|j <0B>
dd|<0F><00><02>Wn<>tk
<EFBFBD>rF}zvt<00>dt|<02><01><00><02>t|<02>}d|k<06>s<>d|k<06>r|j <09>
2025-08-31 13:08:06 +08:00
d<04>|j <0B>
dd<06>n&|j <09>
d|<10><00><02>|j <0B>
dd|<10><00><02>W5d}~XYnXdS)Nu执行远程命令: <20>SSH连接已断开uSSH连接检查失败: u5错误: SSH连接已断开请重新连接服务器Fu-SSH连接已断开请重新连接服务器<E58AA1>pwdu当前目录: u获取当前目录失败: Zsudozsudo -Sz password foru密码T<E7A081>d<00>
<EFBFBD>u错误: ru命令执行成功: u命令执行成功u#命令执行失败,退出状态: u执行命令时发生错误: zSocket is closedzSSH session not active)r<00>infor6r5<00> get_transport<72> is_active<76> Exception<6F>error<6F>str<74> output_signal<61>emit<69>finished_signal<61> exec_command<6E>read<61>decode<64>strip<69>replace<63>lowerr8<00>password_request_signalZmsleepr7<00>write<74>flush<73>channel<65>recv_exit_status)r#<00> transport<72>eZ pwd_stdinZ
pwd_stdoutZ
pwd_stderrZ
pwd_outputZcommand_with_sudo<64>stdin<69>stdout<75>stderrZpassword_prompt<70>line<6E>outputrC<00> exit_status<75> error_msgr)r)r*<00>run3sx   &  

2025-08-31 13:08:06 +08:00


2025-08-31 11:00:32 +08:00

 zRemoteCommandThread.run) r/r0r1rrDrE<00>boolrGrNrr9r\r2r)r)r'r*r3#s 
 r3cs<>eZdZ<02>fdd<02>Zdd<04>Zdd<06>Zdd<08>Zd d
2025-08-31 11:00:32 +08:00
<EFBFBD>Zd d <0C>Zd d<0E>Z dd<10>Z
dd<12>Z dd<14>Z dd<16>Z dd<18>Zdd<1A>Zdd<1C>Zdd<1E>Zdd <20>Zd!d"<22>Zd#d$<24>Zd%d&<26>Zd'd(<28>Zd)d*<2A>Zd+d,<2C>Zd-d.<2E>Zd/d0<64>Z<1A>ZS)1<>RemoteCommandsTabcs,t<00><00><01>t<02>d<01>d|_d|_|<00><06>dS)Nu初始化远程命令标签页)rrrr?r5<00>command_thread<61>init_uir-r'r)r*r<00>s
2025-08-31 11:00:32 +08:00


2025-08-31 13:08:06 +08:00
zRemoteCommandsTab.__init__cCsrt<00>}td<01>}t<00>}t<02>}td<02>|_|jj<05>|j<07>|<04>|j<04>|<04> <09>|<03>
2025-08-31 11:02:17 +08:00
|<04>t<02>}t <0B>}t <0C>|_ |<06>d|j <0A>t <0C>|_|j<0F>d<04>|<06>d|j<0F>|<05>
|<06>t<00>}td<06>|_|jj<05>|j<12>|<07>|j<11>|<07> <09>|<05>
|<07>|<03>
2025-08-31 11:07:11 +08:00
|<05>|<02>|<03>|<01>|<02>td<07>}t<00>} t<02>}
2025-08-31 13:08:06 +08:00
td<08>|_|jj<05>|j<15>|
<EFBFBD>|j<14>|
<EFBFBD> <09>| <09>
2025-08-31 11:07:11 +08:00
|
2025-08-31 13:08:06 +08:00
<EFBFBD>t<02>} td <09>|_|jj<05>|j<17>| <0B>|j<16>| <0B> <09>| <09>
| <0B>td
<EFBFBD>|_|jj<05>|j<19>| <09>|j<18>|<08>| <09>|<01>|<08>td <0B>} t<00>} t<02>}|<0E>td <0C><01>t <0C>|_|jj<1C>|j<1D>|<0E>|j<1B>td <0A>|_|jj<05>|j<1F>|<0E>|j<1E>| <0A>
|<0E>t<02>}|<0F>td<0E><01>t <20>|_!|j!<21>d<04>|j!<21>"d<0F>|<0F>|j!<21>| <0A>
|<0F>t<02>}|<10>td<10><01>t <0C>|_#|<10>|j#<23>td<11>|_$|j$j<05>|j%<25>|<10>|j$<24>| <0A>
|<10>| <0C>| <0A>|<01>| <0C>td<12>}t<00>}t <20>|_&|j&<26>d<04>|<12>|j&<26>|<11>|<12>|<01>|<11>td<13>|_'|j'<27>(t)j*<2A>|<01>|j'<27>|<01> <09>|<00>|<01>t+<2B>,d<14>dS)Nu Git操作<E6938D> 安装Gitu
仓库URL:Tu 远程目录:u 克隆项目u 系统管理<E7AEA1>设置时区为北京时区<E697B6>重启服务器<E58AA1>配置sudo免密u 目录管理u 当前目录:u 刷新目录u 目录内容:<3A><>u 删除目录:<3A> 删除目录u 命令输出u就绪u&远程命令标签页UI初始化完成)-rrrrZinstall_git_button<6F>clickedr<00> install_gitr<00>
addStretch<EFBFBD> addLayoutr r<00>repo_url_input<75>addRow<6F>remote_dir_display<61> setReadOnlyZ clone_button<6F>clone_repositoryr"Zset_timezone_button<6F> set_timezoneZ reboot_button<6F> reboot_serverZsudo_nopasswd_button<6F>configure_sudo_nopasswdr<00>current_dir_display<61> returnPressed<65>on_current_dir_enteredZrefresh_dir_button<6F>refresh_directoryr <00> dir_list_text<78>setMaximumHeight<68>delete_dir_inputZdelete_dir_button<6F>delete_directory<72> output_text<78> status_label<65> setAlignmentr<00> AlignCenterrr?)r#<00> main_layoutZ git_groupZ
2025-08-31 13:08:06 +08:00
git_layoutZinstall_git_layoutZ clone_layoutZ left_layoutZ right_layoutZ system_groupZ system_layoutZtimezone_layoutZ reboot_layoutZ dir_groupZ
dir_layoutZcurrent_dir_layoutZdir_list_layoutZdelete_dir_layoutZ output_groupZ output_layoutr)r)r*r`<00>s<>
2025-08-31 11:00:32 +08:00
 
2025-08-31 11:02:17 +08:00
 

 

2025-08-31 11:00:32 +08:00


2025-08-31 13:08:06 +08:00

 

 

 

2025-08-31 11:07:11 +08:00
 
 
   
 
 


2025-08-31 11:00:32 +08:00
  


 
zRemoteCommandsTab.init_uic
Cs<>t<00>d|<01><00><02>||_z<>|<00><03><00><03>}t|d<02>r<>|jr<>|j<06><07><00><08>}|j<02> dd<04>}|r<>|j
<EFBFBD> d|<04>d|<03><00><04>t<00>d|<04>d|<03><00><04>n"|j
<EFBFBD> d|<04><00><02>t<00>d |<04><00><02>Wn6t k
r<EFBFBD>}zt<00> d
t|<05><01><00><02>W5d }~XYnXd S) u设置服务器信息u设置服务器信息: <20>
status_bar<EFBFBD>host<73>未知<E69CAA>远程服务器 <20>: <20>2主窗口状态栏更新为远程服务器目录: <20>远程服务器: <20>,主窗口状态栏更新为远程服务器: <20> 更新主窗口状态栏失败: N)rr?<00> server_infor$<00>hasattrr5rsr,rK<00>getr<74><00> showMessagerBrCrD)r#r<><00> main_window<6F> current_dir<69> server_hostrTr)r)r*<00>set_server_info s z!RemoteCommandsTab.set_server_infoc
Cs<>t<00>d<01>||_|j<02>r|j<03>d<02>|j<03>d<03>z<>|<00><06><00><06>}t|d<04>r<>|j<08> <09><00>
<EFBFBD>}t|d<05>rn|j <0B> dd<07>nd}|r<>|j <0A>d|<04>d |<03><00><04>t<00>d
|<04>d |<03><00><04>n"|j <0A>d |<04><00><02>t<00>d |<04><00><02>Wn8tk
<EFBFBD>r}zt<00>d t|<05><01><00><02>W5d}~XYnXn<>|j<03>d<0E>|j<03>d<0F>z2|<00><06><00><06>}t|d<04><02>rN|j <0A>d<10>t<00>d<11>Wn8tk
<EFBFBD>r<>}zt<00>d t|<05><01><00><02>W5d}~XYnXdS)Nu设置SSH客户端u已连接到服务器<E58AA1> color: green;r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>u未连接到服务器<E58AA1> color: red;u未连接到远程服务器u*主窗口状态栏更新为未连接状态)rr?r5r|<00>setText<78> setStyleSheetr$r<>rsr,rKr<>r<>r<>r<>rBrCrD)r#r5r<>r<>r<>rTr)r)r*<00>set_ssh_client4s4
   
(     z RemoteCommandsTab.set_ssh_clientc
Cs<>t<00>d|<01>d|<02><00><04>|j<02>|<01>|j<04>|<02>|r<>|j<05>|<02>|<00><06>zj|<00><07><00><07>}t|d<03>r<>t|d<04>r|d|j kr||j dnd}|j
<EFBFBD> d|<04>d|<02><00><04>t<00>d |<04>d|<02><00><04>Wn6t k
r<EFBFBD>}zt<00> d
t|<05><01><00><02>W5d}~XYnXdS) Nu设置服务器配置: git_url=z , remote_dir=r<>r<>r<>r<>r<>r<>r<>r<>)rr?rkr<>rmrsrvr$r<>r<>r<>r<>rBrCrD)r#<00>git_url<72>
remote_dirr<EFBFBD>r<>rTr)r)r*<00>set_server_configWs    
"z#RemoteCommandsTab.set_server_configcCs<>t<00>d<01>|js"t<03>|dd<03>dS|j<05><06>|j<07>d<04>t |jd<05>|_
2025-08-31 11:00:32 +08:00
|j
j <0B> |j <0A>|j
j<0E> |j<0F>|j
j<10> |j<11>|j
<EFBFBD><12>dS)Nra<00>警告<E8ADA6>请先连接到服务器u正在安装Git...z*sudo apt update && sudo apt install -y git)rr?r5r
<00>warningr{<00>clearr|r<>r3r_rEr<00> append_outputrG<00>on_command_finishedrN<00>request_password<72>startr-r)r)r*rhks
2025-08-31 11:00:32 +08:00

 zRemoteCommandsTab.install_gitcCsjt<00>d<01>t|<00>}|<01><03>tjkrF|<01><06>}|rf|j<07>|<02>|j <09>
d<02>n |j <09>
d<03>|j<07>d<04>d|j_ dS)Nu请求输入sudo密码u密码已发送
u已取消输入密码
r>F) rr?r<00>execr <00>Acceptedr.r_r9r{<00>appendr8)r#Zdialogr7r)r)r*r<>|s
2025-08-31 11:02:17 +08:00
   z"RemoteCommandsTab.request_passwordcCs<>t<00>d<01>|js"t<03>|dd<03>dS|j<05><06><00><07>}|sFt<03>|dd<04>dS|j<08><06><00><07>}|j <09>
<EFBFBD>|j <0B> d<05>|r<>d|<02>d|<02>d|<01><00>}n
d |<01><00>}t |j|<03>|_|jj<0F>|j<11>|jj<12>|j<13>|j<0E><14>dS)
Nu 克隆仓库r<E5BA93>r<>u请输入仓库URLu正在克隆仓库...z mkdir -p z && cd z && git clone --verbose zgit clone --verbose )rr?r5r
r<>rkr,rKrmr{r<>r|r<>r3r_rErr<>rGr<>r<>)r#Zrepo_urlr<6C>Z clone_commandr)r)r*ro<00>s$
2025-08-31 11:02:17 +08:00

 
z"RemoteCommandsTab.clone_repositorycCs|j<00>|<01>dSr+)r{r<><00>r#r,r)r)r*r<><00>szRemoteCommandsTab.append_outputcCs<>|rD|j<00>|<02>|j<00>d<01>t<03>|d|<02>d|ks:d|kr<>|<00><05>nd|j<00>|<02>|j<00>d<05>d|kr<>t<03>|d|<02>d<07>tjtjBtj<07>}|tjkr<>|<00> <09>nt<03>
|d|<02>dS) Nr<4E><00>成功u删除u目录r<E5BD95>r:u&
2025-08-31 13:08:06 +08:00
是否现在重新连接服务器<EFBFBD>错误) r|r<>r<>r
<00> informationrv<00>question<6F>Yes<65>No<4E> reconnect_sshr<68>)r#<00>success<73>message<67>replyr)r)r*r<><00>s"  
2025-08-31 13:08:06 +08:00
  
<04>

z%RemoteCommandsTab.on_command_finishedc
Cs<>t<00>d<01>z||<00><02><00><02>}t|d<02>r<>|j<04><05><00><06>}t|d<03>rNd|jkrN|jdnd}|r<>|j<08> d|<03>d|<02><00><04>t<00>d|<03>d|<02><00><04>Wn6t
k
r<EFBFBD>}zt<00> d t |<04><01><00><02>W5d
}~XYnX|<00> <0A>d
S) u6处理用户输入目录路径并按回车键的情况u'用户输入目录路径并按回车键r<E994AE>r<>r<>r<>r<>r<>r<>r<>N)rr?r$r<>rsr,rKr<>r<>r<>rBrCrDrv)r#r<>r<>r<>rTr)r)r*ru<00>s
 
"&z(RemoteCommandsTab.on_current_dir_enteredcCs<>t<00>d<01>|js"t<03>|dd<03>dS|j<05><06><00><07>}|sVd}|j<05>|<01>t<00>d|<01><00><02>nt<00>d|<01><00><02>|j <09>d<07>d|<01>d <09>}t
2025-08-31 11:07:11 +08:00
|j|<02>|_ |j j <0C> |j<0E>|j j<0F> |j<10>|j <0B><11>dS)
Nu刷新目录列表r<E8A1A8>r<><00>~u使用默认目录: u使用用户输入目录: u正在刷新目录列表...<2E>cd z && pwd && ls -la)rr?r5r
r<>rsr,rKr<>r|r3r_rEr<00>append_dir_outputrG<00>on_dir_refresh_finishedr<64>)r#r<>r6r)r)r*rv<00>s 
   z#RemoteCommandsTab.refresh_directorycCs$|j<00>|<01>t<02>d|<01><04><00><00><02>dS)Nu目录列表信息: )rwr<>rr?rKr<>r)r)r*r<><00>s z#RemoteCommandsTab.append_dir_outputc
Cs|r<>|j<00>d<01>|j<00>d<02>t<03>d<03>zt|<00><05><00><05>}t|d<04>r<>|j<07><08>}t|d<05>rfd|j krf|j dnd}|j
<EFBFBD> d|<05>d |<04><00><04>t<03>d
|<05>d |<04><00><04>Wn6t k
r<EFBFBD>}zt<03> d t|<06><01><00><02>W5d}~XYnXn<|j<00>d <0C>|j<00>d <0A>t<03> d|<02><00><02>t<0F>|dd|<02><00><02>dS)Nu目录列表已刷新r<E696B0>u目录列表刷新成功r<E58A9F>r<>r<>r<>r<>r<>r<>r<>u刷新目录列表失败r<E8B4A5>u刷新目录列表失败: r<>)r|r<>r<>rr?r$r<>rsr,r<>r<>r<>rBrCrDr
r<>)r#r<>r<>r<>r<>r<>rTr)r)r*r<><00>s"  
 

"(  z)RemoteCommandsTab.on_dir_refresh_finishedcCs<>t<00>d<01>|js"t<03>|dd<03>dSt<03>|ddtjtjBtj<07>}|tjkrLdS|j<08> <09>|j
<EFBFBD> d<06>d}t |j|<02>|_ |j j<0E>|j<10>|j j<11>|j<12>|j j<13>|j<14>|j <0A><15>dS)Nrbr<>r<>u确认设置时区u6确定要将服务器时区设置为北京时区吗u正在设置时区...z+sudo timedatectl set-timezone Asia/Shanghai)rr?r5r
r<>r<>r<>r<>r{r<>r|r<>r3r_rErr<>rG<00>on_timezone_setrNr<>r<><00>r#r<>r6r)r)r*rp
s&
2025-08-31 13:08:06 +08:00

<04>

 zRemoteCommandsTab.set_timezonecCsd|r4|j<00>d<01>|j<00>d<02>t<03>|dd<04>|<00><05>n,|j<00>d<05>|j<00>d<06>t<03>|dd|<02><00><02>dS) Nu时区设置成功r<E58A9F>r<>u'服务器时区已设置为北京时区u时区设置失败r<E8B4A5>r<>u设置时区失败: )r|r<>r<>r
r<><00>show_current_timezoner<65><00>r#r<>r<>r)r)r*r<>$s  
  z!RemoteCommandsTab.on_timezone_setcCsVt<00>d<01>|jsdSd}t|j|<01>|_|jj<05>|j<07>|jj<08>dd<04><00>|j<04> <09>dS)Nu显示当前时区ztimedatectl statuscSsdSr+r))r<>r<>r)r)r*<00><lambda>:<00>z9RemoteCommandsTab.show_current_timezone.<locals>.<lambda>)
rr?r5r3r_rErr<>rGr<>)r#r6r)r)r*r<>1s
2025-08-31 13:08:06 +08:00
z'RemoteCommandsTab.show_current_timezonecCs<>t<00>d<01>|js"t<03>|dd<03>dSt<03>|ddtjtjBtj<07>}|tjkrLdS|j<08> <09>|j
<EFBFBD> d<06>d}t |j|<02>|_ |j j<0E>|j<10>|j j<11>|j<12>|j j<13>|j<14>|j <0A><15>dS)Nrcr<>r<>u 确认重启uL确定要重启服务器吗?
此操作将导致服务器临时不可用u正在重启服务器...z sudo reboot)rr?r5r
r<>r<>r<>r<>r{r<>r|r<>r3r_rErr<>rG<00>on_reboot_initiatedrNr<>r<>r<>r)r)r*rq=s&
2025-08-31 13:08:06 +08:00

<04>

 zRemoteCommandsTab.reboot_servercCs\|r,|j<00>d<01>|j<00>d<02>t<03>|dd<04>n,|j<00>d<05>|j<00>d<06>t<03>|dd|<02><00><02>dS) Nu服务器重启命令已发送r<E98081>u重启已启动us服务器重启命令已发送,服务器将在几秒后重启。
请等待服务器重启完成后重新连接。u服务器重启失败r<E8B4A5>r<>u服务器重启失败: <20>r|r<>r<>r
r<>r<>r<>r)r)r*r<>Ws    z%RemoteCommandsTab.on_reboot_initiatedc Cs<>t<00>d<01>|js"t<03>|dd<03>dS|j<05><06><00><07>}|sFt<03>|dd<04>dS|j<08><06><00><07>}|s\d}t<03> |dd|<02>d|<01>d <09>tj
2025-08-31 11:07:11 +08:00
tj Btj <0B>}|tj kr<>dS|j <0C> <0A>|j<0E>d
<EFBFBD>d |<02>d |<01><00>}t|j|<04>|_|jj<12>|j<14>|jj<15>|j<16>|j<11><17>dS) Nrfr<>r<>u请输入要删除的目录名r<E5908D>u 确认删除u确定要删除目录 '<27>/u3' 及其所有内容吗?
此操作不可撤销u正在删除目录...r<>z && rm -rf )rr?r5r
r<>ryr,rKrsr<>r<>r<>r{r<>r|r<>r3r_rErr<>rGr<>r<>)r#Z dir_to_deleter<65>r<>r6r)r)r*rzas2
2025-08-31 11:07:11 +08:00

<04>

2025-08-31 13:08:06 +08:00
 z"RemoteCommandsTab.delete_directorycCs<>t<00>d<01>|js"t<03>|dd<03>dSt<03>|ddtjtjBtj<07>}|tjkrLdS|j<08> <09>|j
<EFBFBD> d<06>d}t |j|<02>|_ |j j<0E>|j<10>|j j<11>|j<12>|j j<13>|j<14>|j <0A><15>dS)Nrdr<>r<>u确认配置sudo免密uo确定要配置sudo免密吗
2025-08-31 13:08:06 +08:00
此操作将允许当前用户无需密码执行sudo命令请谨慎操作u正在配置sudo免密...z<>whoami && echo '
' | sudo -S visudo -c && (echo '
' | sudo -S visudo -f /etc/sudoers.d/nopasswd && echo '$(whoami) ALL=(ALL) NOPASSWD: ALL' | sudo -S tee /etc/sudoers.d/nopasswd && sudo -S chmod 440 /etc/sudoers.d/nopasswd))rr?r5r
r<>r<>r<>r<>r{r<>r|r<>r3r_rErr<>rG<00>on_sudo_nopasswd_configuredrNr<>r<>r<>r)r)r*rr<00>s&
2025-08-31 13:08:06 +08:00

<04>

 z)RemoteCommandsTab.configure_sudo_nopasswdcCs\|r,|j<00>d<01>|j<00>d<02>t<03>|dd<04>n,|j<00>d<05>|j<00>d<06>t<03>|dd|<02><00><02>dS) Nusudo免密配置成功r<E58A9F>r<>uQsudo免密配置成功
当前用户现在可以无需密码执行sudo命令。usudo免密配置失败r<E8B4A5>r<>usudo免密配置失败: r<>r<>r)r)r*r<><00>s    z-RemoteCommandsTab.on_sudo_nopasswd_configuredc
2025-08-31 13:08:06 +08:00
Csd|js
dSz|j<00><01>}|o |<01><02>WStk
r^}zt<04>dt|<02><01><00><02>WY<00>dSd}~XYnXdS)u检查SSH连接是否有效Fu 检查SSH连接时发生错误: N)r5r@rArBrrCrD)r#rSrTr)r)r*<00>check_ssh_connection<6F>s
2025-08-31 13:08:06 +08:00
z&RemoteCommandsTab.check_ssh_connectioncCs<>t<00>d<01>|jr2z|j<02><03>Wn YnXd|_|<00><04><00><04>}t|d<03>r<>|j<06>d<04>|j<08> d<05>|j<08>
d<06>|j <0B> d<07>|j <0B> d<08>t <0A>|d d
t jt jBt j<0F>}|t jkr<>|j}|<03><12>dS) u重新连接SSH服务器u尝试重新连接SSH服务器N<E599A8>tabsru请重新连接服务器zcolor: orange;u
=== SSH连接已断开 ===
u<请切换到"服务器连接"标签页重新连接服务器
r:u0SSH连接已断开是否现在重新连接)rr?r5<00>closer$r<>r<><00>setCurrentIndexr|r<>r<>r{r<>r
r<>r<>r<><00>server_connection_tab<61>connect_to_server)r#r<>r<>r<>r)r)r*r<><00>s,
2025-08-31 13:08:06 +08:00
 
     
<04>
zRemoteCommandsTab.reconnect_ssh)r/r0r1rr`r<>r<>r<>rhr<>ror<>r<>rurvr<>r<>rpr<>r<>rqr<>rzrrr<>r<>r<>r2r)r)r'r*r^<00>s2  #  
2025-08-31 13:08:06 +08:00
"
 r^N)<16>PySide6.QtWidgetsrrrrrrrr r
r r r <00>PySide6.QtCorerrr<00>logururrr3r^r)r)r)r*<00><module>s
8 j