写在前面:最近在做一些东西,平台是Ubuntu16.04,用Putty登陆远程的主机,WinSCP挂载代码,这可以说是我第一次接触Linux操作系统,所以其中遇到了很多奇奇怪怪的问题,也看了很多帖子,但有些问题老是会碰到,与其每次都去查不如自己写个总结,反正现在在上网课,闲着也是闲着,此帖不定期更新,直到东西做完为止……
网上的方法很多,我自己实验有用的方法是
1、点击虚拟机->安装vmtools
2、把一个tar.gz拖到一个你知道的地方,比如/Downloads
3、sudo su
进入root身份
4、cd /home/python/Downloads
目录就是之前的目录
5、tar -zxvf VMwareTools-10.0.0-2977863.tar.gz
解压的文件名记得看清楚
6、cd vmware-tools-distrib
进入这个文件夹 ./vmware-install.pl
运行pl文件
7、之后会弹出一大堆内容,记住yes/no的全部选yes,其他全部回车default
== 到中后段一堆路径后会弹出一个yes/no,需要注意 ==
引用自:https://blog.csdn.net/hxh5801050/article/details/77801050
慎用,有时一劳永逸有时贼jb坑,我这里是Ubuntu16.04,其他版本的可能会不同
1、给root用户设置密码sudo passwd root
2、编辑一个文件sudo gedit /etc/lightdm/lightdm.conf
内容是
[Seat:*]
autologin-guest=false
autologin-user=root
autologin-user-timeout=0
greeter-session=lightdm-gtk-greeter
3、编辑另一个文件sudo gedit /root/.profile
内容是
# ~/.profile: executed by Bourne-compatible login shells.
if [ "$BASH" ]; then
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
fi
tty -s && mesg n || true
4、sudo reboot
重启
因为要同时登陆多台主机,所以用终端分割方便一些
只有一步sudo apt-get install terminator
快捷键们
Ctrl+Shift+E 垂直分割窗口
Ctrl+Shift+O 水平分割窗口
F11 全屏
Ctrl+Shift+C 复制
Ctrl+Shift+V 粘贴
Ctrl+Shift+N 或者 Ctrl+Tab 在分割的各窗口之间切换,或者alt加方向键
Ctrl+Shift+X 将分割的某一个窗口放大至全屏使用
Ctrl+Shift+Z 从放大至全屏的某一窗口回到多窗格界面
Ctrl+Shift+W 关闭当前窗口
引用自:https://blog.csdn.net/qq_37449342/article/details/94726146
因为要用Putty远程登陆,所以需要将私钥放入你的虚拟机,我放在/root目录下,其他目录都提示too open
但是发起登陆请求时可能会出现以下问题
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0777 for '/root/.ssh/id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "/root/.ssh/id_rsa": bad permissions
Permission denied (publickey).
解决方法只有一步chmod -R 700 /root
ssh -i /root/id_dsa -X [email protected]
注意你的id_dsa放的位置,后面的x.x.x.x是ip
登陆远端主机后如果还需登陆VLAN里的其他主机,方法也差不多
ssh -i /root/id_dsa [email protected]
同样x.x.x.x是内网ip地址
引用自:https://blog.csdn.net/SSSuperFang/article/details/80039524?depth_1-utm_source=distribute.pc_relevant.nonetask&utm_source=distribute.pc_relevant.none-task
如果碰到了这个错误,可能是在远端程序运行时意外掉线或者没有Ctrl+C退出。
解决方法是:
1、lsof -i:(port)
port是端口号,你的代码里应该有提到
2、sudo kill PID
杀掉进程,PID在上一行命令输完出现的界面能看到
引用自:https://blog.csdn.net/zhangpeterx/article/details/83627705
解决方法:https://blog.csdn.net/zhangpeterx/article/details/83627705
出现此问题可能是因为远端Linux没有GUI?或者命令行不能画图?
Anyway
命令行不能画图,但是可以把画的图存下来在用WinSCP下载回本地来看
解决方法
头部引入
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
== 顺序不能乱!!!!==
然后plt.savefig('/.../result.png')
’…'是远端保存的路径,文件名可以随便取,我取的result.png
G = nx.Graph()
G = G.to_directed()
具体的图根据你自己的情况,这不是重点
如果你要给图中的边赋权值,或者就是要给边的一个属性赋值,我最开始是这样做的, 以下代码为错误示范!!!!!
for sourcee in range(0, 20): #此段为错误示范
for destinationn in range(0, 20):
if sourcee != destinationn and nx.has_path(G, g.L_IP[sourcee], g.L_IP[destinationn]):
G.add_edge(g.L_IP[sourcee], g.L_IP[destinationn], {'weight': 1.0})
G.add_edge(g.L_IP[destinationn], g.L_IP[sourcee], {'weight': 1.0})
elif sourcee == destinationn and nx.has_path(G, g.L_IP[sourcee], g.L_IP[destinationn]):
G.add_edge(g.L_IP[sourcee], g.L_IP[destinationn], {'weight': 0.0})
本意是把除自环外的每条边的权值赋为1.0,自环的权值设为0.0,经过这一段代码成功把自己之前的图连成了全连通图……这段代码风格怎么说呢……什么叫C语言,zhei他妈就叫C语言,毕竟最早学的是C语言,用Python写C类型的代码的习惯还需要编程量来改正
正确方法如下
for edge in G.edges():
G.edges[edge]['weight'] = 1.0
for source in range(0, 20):
for destination in range(0, 20):
if source == destination:
G.add_edges_from([(g.L_IP[source], g.L_IP[destination], {'weight': 0.0})])
把除自环外的每条边的权值都赋为1.0就用了两行……
这语句挺好用的input('Press Enter to continue')
能让程序停下来,看看之前输出的内容,如果没有千里眼,这个还是蛮好用的,而且有种打游戏的快感哈哈哈
本地密钥和远端密钥可能不对应,用Puttygen修改密钥格式即可
修改方法:PuTTYgen->Conversions->Export OpenSSH key(force new file format)
不同平台可能认得密钥格式不同,灵活转变就好
替换from scipy.misc import logsumexp为from scipy.special import logsumexp
原因:缺少对应的语言包
解决方案:sudo apt install language-pack-zh-hans
如果直接使用pip3 install cvxpy
可能会出现安装失败的情况,网上许多教程都是在Windows系统下的解决方案,还有的说是要提前安装一系列的其他工具包,在我这里全部不起作用,我这里尝试有用的方法如下
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-mQKCCo/cvxpy/
解决方法:
pip3 install --upgrade pip
pip3 install cvxpy
或许其他工具包可以的安装出现类似问题可以举一反三。
遇到了一个很奇怪的问题,Pycharm-FIle-Settings-Interpreter里添加Packages时加号是灰色的,同时发现windows命令行里有一行很奇怪的字
ANOMALY: use of REX.w is meaningless (default operand size is 64)
怀疑这两个问题是否有关联
Win+R,输入regedit打开注册表
增加项,路径为:
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\TEC\Ocular.3\agent\config 下 新建 [字符串值] hookapi_disins,数值数据: 1
问题解决