Linux 系统内核升级后 vmware 出现的问题及解决

缺少安装包错误

vmware 在 Ubuntu Kenrel 升级后会出现无法使用的问题,报告错误

1
Before you can run VMware, several modules must be compiled and loaded into the running kernel.

这时候即便是点击 install 也可能安装失败,因为内核升级了。这个时候我们可以通过更新 VM 对应的文件如下方式解决此问题

1
2
3
4
5
6
git clone https://github.com/mkubecek/vmware-host-modules.git
cd vmware-host-modules
git checkout workstation-16.2.3 # 升级到对应VM的版本

sudo make
sudo make install

虚拟机无法识别文件

更新完成后,原来安装的虚拟机可能会发生打不开的问题,这时候可以继续刚才的操作,使用以下方式解决

1
2
3
4
cd vmmon-only/
uname -a # 查看内核版本
sudo cp vmmon.ko /lib/modules/5.15.0-41-generic/misc/vmmon.ko # 拷贝内核文件,其中 5.15.0-41-generic 是上一条命令看到的内核版本
sudo modprobe vmmon # 加载内核模块

安装 VMware tools 问题

更新完成之后,我又安装了一个新的 Ubuntu 虚拟机,发现无法安装 VMware-tools,在菜单 VM -> Install VMware tools 选项卡是灰色的

我先尝试安装了工具,但是无效

1
sudo apt install open-vm-tools-desktop

通过网上搜索发现是 CD-ROM 功能有问题,需要把 CD-ROM 设置为 Auto detect,然后再次尝试安装 VMware-tools

结果发现还是失败了,最后我分析发现是存在软盘的自启动影响了 CD-ROM 的自启动。

最后的方案是将 Floppy (软盘) 设置为 Auto detect(不能是设置为指定文件),然后取消软盘的连接状态和上电启动。

设置完成后重启虚拟机,可以正常安装 VMware-tools 了。

Ubuntu 上快速实现 TTS 的一种方法

本方法使用的是 google 翻译接口

安装软件

  • gTTS 软件
1
2
pip install gTTS
gtts-cli 'hello' --output hello.mp3 --tld='cn'

注意,因为国内网路限制原因,只能使用 .cn 结尾的接口,所以 –tld 是切换网站路径
如果是中文的话,需要使用 -l “zj” 指定语言,否则语调过来会很奇怪

1
gtts-cli '你很帅' --output hello.mp3 --tld='cn' -l "zh"
  • 播放音频的软件
1
2
3
sudo apt install sox
sudo apt-get install sox libsox-fmt-all
play hello.mp3

博客常用操作

这里记录 Hexo 博客日常维护用到的指令。

博客维护指令

  • 生成
    hexo g

  • 启动本地服务
    hexo s

  • 上传
    hexo d

工具包

  • npm install hexo-generator-index –save #索引生成器
    hide: true #在博客首页隐藏该文章

  • npm install hexo-hide-posts –save #隐藏文章
    hidden: true

  • npm install hexo-generator-index-pin-top –save #置顶文章
    top: true

  

使用 SSH 命令行开启远程桌面的方法

使用 SSH 命令行开启远程桌面的方法

纯命令方法1

dconf write /org/gnome/desktop/remote-access/prompt-enabled false
dconf write /org/gnome/desktop/remote-access/enabled true
dconf write /org/gnome/desktop/remote-access/authentication-methods “[‘vnc’]”
dconf write /org/gnome/desktop/remote-access/vnc-password ‘“MTIzNDU2”‘ # “MTIzNDU2” 是 base64 编码的 123456

systemctl –user start vino-server

纯命令方法2

dbus-launch gsettings set org.gnome.Vino prompt-enabled false
dbus-launch gsettings set org.gnome.Vino authentication-methods “[‘vnc’]”
dbus-launch gsettings set org.gnome.Vino vnc-password $(echo -n “mypassword”|base64)

使用 SSH -X 打开控制界面

vino-preferences

设置开机启动 vino

edit the /etc/gdm3/custom.conf file making the following lines in [daemon] section look as this:

AutomaticLoginEnable=true
AutomaticLogin=yourusername

端口号范围(转)

端口号范围 和 入侵电脑端口查询

原文转自 http://blog.sina.com.cn/s/blog_4bdf819f0100vryh.html

端口使用一个16位的数字表示,它的范围是 0~65535,0到1023之间的端口号保留给预定义的服务。例如:http使用 80 端口。我们在编写网络应用程序时,要为程序指定 1024~ 65535 之间的端口号。

端口概念

在网络技术中,端口(Port)大致有两种意思:一是物理意义上的端口,比如,ADSL Modem、集线器、交换机、路由器用于连接其他网络设备的接口,如RJ-45端口、SC端口等等。二是逻辑意义上的端口,一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。我们这里将要介绍的就是逻辑意义上的端口。

(1)知名端口(Well-Known Ports)

知名端口即众所周知的端口号,范围从0到1023,这些端口号一般固定分配给一些服务。比如21端口分配给FTP服务,25端口分配给SMTP(简单邮件传输协议)服务,80端口分配给HTTP服务,135端口分配给RPC(远程过程调用)服务等等。

(2)动态端口(Dynamic Ports)

动态端口的范围从1024到65535,这些端口号一般不固定分配给某个服务,也就是说许多服务都可以使用这些端口。只要运行的程序向系统提出访问网络的申请,那么系统就可以从这些端口号中分配一个供该程序使用。比如1024端口就是分配给第一个向系统发出申请的程序。在关闭程序进程后,就会释放所占用的端口号。

  

:D 一言句子获取中...