问题描述
Linux下的VMware虚拟机在启动时报Could not open /dev/vmmon: No such file or directory.
Please make sure that the kernel module `vmmon’ is loaded.错误。
解决办法
重新编译模块。
$sudo vmware-modconfig --console --install-all
再次运行即可。
Linux下的VMware虚拟机在启动时报Could not open /dev/vmmon: No such file or directory.
Please make sure that the kernel module `vmmon’ is loaded.错误。
重新编译模块。
$sudo vmware-modconfig --console --install-all
再次运行即可。
删除一个字符串中的指定字母,如:字符串 “hello,world!”,删除其中的 o 字母,应输出 “hell,wrld!”
将字符串内不属于需搜索的字符的字符再赋值到该字符串的地址空间中,最后再在字符串结尾加上结束标记\0
。
#include <stdio.h> #include <string.h> int main(int argc, char **argv) { int num = 0; for (int i = 0; i <= strlen(argv[1]); i++) if (argv[1][i] != argv[2][0]) { argv[1][num] = (i == strlen(argv[1])) ? '\0' : argv[1][i]; num++; } printf("%s\n", argv[1]); return 0; }
在Linux下安装完VMware虚拟机后启动虚拟机报:Kernel headers for version 4.x-xxxx were not found. If you installed them[…],具体报错如下图所示。
安装系统内核对应版本的linux-headers
。
例如,我的系统的内核版本是4.14.19,操作系统是Archlinux,就执行如下命令来安装。
$ sudo pacman -S linux-headers
之后再根据命令提示选择与内核版本对应的linux-headers
。
Ubuntu和Fedora用户则使用各自的包管理工具安装正确的linux-headers
版本
安装后再次启动VMware会看到如下提示。
点击install
并按要求输入管理员密码即可。
使用C语言编程时经常需要从各种途径读取数据并将其保存在内存中,但C语言为了保持简洁,所以只包含一些很基础的数据类型,有时候并不能很好的存储用户输入的数据。
例如:需要存储用户输入的字符串,通常,教科书上所教的方法是分配一个较大的数组来进行存储。显然,这在实际生产环境中是相当不切实际的。
为了相对完美的解决这个问题,我们可以通过动态的开辟堆空间来实现对数据的存储。
此例程每次接收一个字符,并利用realloc函数根据数据量大小来重新分配堆空间。
#include <stdio.h> #include <stdlib.h> #include <stdbool.h> int main(void) { char tmp = '\0'; char *str = NULL; for (int i = 0; true; i++) { tmp = getchar(); if ((tmp == '\r') || (tmp == '\n')) break; /*每次循环都按照当前数据量大小来重新分配堆空间大小*/ str = (char *) realloc(str, sizeof(str) + sizeof(tmp)); if (str == NULL) return -1; str[i] = tmp; } printf("%s\n", str); return 0; }
输入:hello,it7e!!!,程序动态开辟内存存储字符串并输出hello,it7e!!!,如下图。
Fcitx输入法第二个候选词显示为…,因为在输入状态下给输入法截屏不太方便,所以这里就不放图啦。
这是因为Fcitx启用了“云拼音”导致的,“云拼音”本该是一个非常方便的一个功能,但Fcitx的“云拼音”默认使用的是谷歌的服务,由于众所周知的原因,所以在国内是使用不了的。
打开Fcitx的配置窗口,选择“附加组件”,找到并选中“云拼音”
点击“配置”,找到“Cloud Pinyin Source”(云拼音源)选项,将其的值改为“Baidu”,默认是“Google”。
修改后点击“确定”并关闭FCitx的配置窗口即可。
刚刚突然想起了,“坏蛋的博客”是在2017年2月1日建立并发表第一篇博文的,而今天是2018年2月2日,满一岁啦!
来回顾下这一年中取得的成绩:
虽然以上列出的都不是什么大的数字,但贵于从无到有的突破。
最初建站时,连续几个月都看不到一个独立访客,长久以来都是只有我、同学和老师会偶尔浏览。使我坚持下来的,不是为了建成一个网站的愿望,而是做学习笔记的需要。这也恰恰印证了一句话:“不要为了建站而建站”。
2018年,希望可以取得更加优秀的成绩。
启动minicom时报如下错误:
Device /dev/ttyS1 lock failed: Operation not permitted.
这是因为minicom程序没有被正确关闭,导致串口锁未被解开,解决办法自然是终止仍在进行的minicom进程。
使用ps
命令配合管道命令来查看minicom的进程号。
如上图,进程ID是20209,使用kill
命令杀死之。
$ sudo kill -9 29209
在Linux Mint下双击选中一段文本后,会自动删除文本。
这个问题是iBus引起的,打开iBus的首选项,取消勾选“在应用程序窗口中启用内嵌编辑模式”的复选框即可。
对于学习计算机的同学来讲,装一个Linux来作为日常使用的操作系统是再好不过的事了。但Linux下的发行版本众多,如何选择一个适合自己的发行版就成了一门学问。
这里我个人推荐下Linux Mint,这个发行版基本做到了“开箱即用”,完全不需要像Fedora那样折腾,又不会时不时出现Ubuntu下恼人的各种系统崩溃,其易用性仅次于deepin而又不似deepin那样BUG无数。
同时,Linux Mint对笔记本等高分辨率的屏幕支持比较好,这也是我选择这一发行版的重要原因。
Linux Mint除了集成了大量实用的工具外还自主开发了一些很好用的东西,例如:
一键清理软件包卸载后的残留配置。
第一次启动系统时弹出来的“欢迎界面”。
以及算不上美观,也没有什么帅炸了的特效,但足够方便好用的Cinnamon桌面环境~
简而言之,Linux Mint是我接触Linux以来最满意的一个发行版,我对她的评价是:真正的易用、实用。
Linux Mint的软件仓库中的软件包版本简直是上古时代的。。。