December 2019

Vmware双屏问题

Vmware安装好Windows10后发现设置了双屏显示,打开还是只有一个窗口。

解决办法:

快捷键:Control+Alt+M

手动设置:View -> Cyle Mutiple Monitors…

Continue reading...

Gtk 创建可自由拖拽、移动的按钮

— Gtk draggable button example c codes

示例代码如下:

命名:dragButton.c

Continue reading...

Gtk获取窗口内光标 | 指针 | 鼠标的绝对和相对坐标,绝对和相对位置

获取指针绝对坐标和窗口内的相对坐标

 

方法一:直接调用函数获得

详情见注释,注意window变量来自 Gtkwidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL); 代码中没有给出

方法二: 注册回调函数获得

Continue reading...

NetworkManager全局代理不起作用,无法从Chrome登录谷歌账号

Chrome从其他地方登录以后,原本登录的会被迫退出,再次打开Chrome很多东西都不再同步,包括密码填充之类的,这个很坑,解决办法是退出谷歌账号,并勾选清空书签、历史和密码选项

如此以来再次登录后会自动同步所有插件和密码书签(需要一定时间,不要着急关闭Chrome)。

但是有时候会遇到全局代理设置不成功的状况,比如作者用NetworkManager的时候就不幸遇上,期间用proxychains和tsocks都没用,proxychains直接崩溃,tsocks报ssl连接错误,不过这个不是关键,反正无论如何都无法成功为Chrome代理连接登录谷歌账号,导致无法同步插件 SwitchyOmega,也就无法正常使用Google的一切同步功能,由此陷入死循环。

后来想到终端可以正常设置代理连接,那么可以在终端设置好后从它那里用命令行打开Chrome也就达到目的了,果然尝试后成功连接到谷歌并同步了书签密码以及插件。

前提:系统已经开启socks代理,已安装并配置好polipo

终端设置代理:

从终端启动Chrome

之后应该可以登录谷歌账号,等一段时间后Chrome会自动下载云端同步的插件、书签以及所有密码,这个阶段不要关闭终端。…

Continue reading...

PHP更新到7.3后 Crayon Syntax Highlighter 不兼容导致页面显示异常

本站的代码高亮使用的是 Crayon Syntax Highlighter,感觉还不错。

想直接看解决办法的直接拉到最后的正题部分。

 

前几个小时服务器搞崩了,可惜没有打快照,不过还好的是平时喜欢备份数据库和网站所有源文件的习惯,便重新安装了服务器,顺便将WordPress从Nginx迁移到了Caddy,原因是Nginx做流量转发进行反向代理的时候一直不成功,而Caddy已经有成功的经验。

不得不说Centos真的有点反人类啊,安装软件是真的麻烦,yum中途由于内存不够被迫中断导致一大堆问题,中途已经恢复了yum的使用,可能太过暴力导致了一些核心软件已经被损坏了,网站逐渐频繁出现数据库连接错误的情况,以为是数据库出了问题,一直后知后觉,最后打算重启看能否解决问题,结果一关机压根开不起来,直接Kernel Panic,这时候才发现系统早在yum中断后就被损坏,无奈,只能重装系统。(后记,不是系统损坏的原因,重装的系统也出现了同样的问题,可能是服务器资源不足造成)

系统安装好后ssh连接上去,用写好的脚本装好需要的软件,配置相关环境,上传整站备份文件,导入数据库,关闭firewalld,修改/etc/sysconfig/iptables放行相关端口,修改/etc/php-fpm.d/www.conf中listen内容以及user、group对象,添加CaddyFile,添加caddy用户,启动php-fpm,caddy,mysqld,设置免密登录……

注:caddy第一次启动需要先到/usr/local/caddy/目录下手动 ./caddy 启动,以获取ssl证书,网站有问题也需要这样更好的查看错误输出信息。

caddy和php-fpm需要使用如下步骤才能正常运行起来,笔者尝试不关闭php-fpm直接重启caddy都失败了。

软件运行起来后,用如下命令检查有没有监听到所需的端口上

caddy需要监听到80和443的端口,分别对应http和https的熟知端口,sshd需要监听到我们ssh root@连接时用到的端口上,同时我们能看到mysqld也监听了特定端口。

 

说了那么多废话,进入正题:

找到网站根目录下的 wp-content/plugins/crayon-syntax-highlighter/crayon_langs.class.php,打开后定位到如下一行

改为:

保存退出即可。…

Continue reading...

Centos 7 yum update 中断导致的软件包duplicate重复问题

Error: Package: glibc-common-2.17-260.el7_6.5.x86_64 (@updates)
Requires: glibc = 2.17-260.el7_6.5
Removing: glibc-2.17-260.el7_6.5.i686 (@updates)
glibc = 2.17-260.el7_6.5
Updated By: glibc-2.17-292.el7.i686 (base)
glibc = 2.17-292.el7
You could try using –skip-broken to work around the problem
** Found 44 pre-existing rpmdb problem(s), ‘yum check’ output follows:
1:NetworkManager-libnm-1.18.0-5.el7_7.1.x86_64 is a duplicate with 1:NetworkManager-libnm-1.12.0-10.el7_6.x86_64
32:bind-license-9.11.4-9.P2.el7.noarch is a duplicate with 32:bind-license-9.9.4-73.el7_6.noarch
cpp-4.8.5-39.el7.x86_64 is a duplicate with cpp-4.8.5-36.el7_6.2.x86_64
dracut-033-564.el7.x86_64 is a duplicate with dracut-033-554.el7.x86_64
e2fsprogs-libs-1.42.9-16.el7.x86_64 is a duplicate with e2fsprogs-libs-1.42.9-13.el7.x86_64
elfutils-libelf-0.176-2.el7.x86_64 is a duplicate with elfutils-libelf-0.172-2.el7.i686

 

上面是一大堆报错,解决命令:

包名是错误输出中最前面的名字,如上面的 NetworkManager-libnm-1.18.0-5.el7_7.1.x86_64,注意不要带上前面的数字

如果重复包太多,可以把错误输出保存到文件中,假设名为f,然后用命令行处理只保留下开头的名字,并去除最前面的数字,这里我们用vim打开后解决。

先按ESC,再键入如下字符后回车

同上键入如下字符后回车:

处理后会变为如下:

Continue reading...

安卓连接Linux热点卡在Obtaining ip address

wifi热点由NetworkManager开启,create_ap一直开启不成功,但是NetworkManager开启成功的热点安卓却无法连接成功。

后来发现不知道什么时候状态栏多了一个Firewall防火墙(安装包名为firewalld),很有可能是这个东西引起,作者也忘了是什么时候安装了这个软件,也有可能是安装其它软件带上的依赖?

记录解决过程如下:

1.打开Firewall软件,需要输入root密码

2.双击开启热点的无线网卡和连接电脑的有线网络,将其区域设置为信任(trusted)

3.找到并勾选public和trusted里的dhcp选项

 

另外,还有可能是依赖没有装全引起:

 

从逻辑上来讲,提供的步骤肯定有多余,这里就不验证了。…

Continue reading...

Linux 安装glfw3及glad的C语言库

一. 安装GLAD头文件及动态库

 

二. 安装glfw3库

Arch+x11直接安装glfw-x11,其他版本桌面服务器的请再自行网上查阅

 

三. 实例

Continue reading...