KVM/libvirt forwarding ports to guest via iptables
1 | # connections from outside |
refer to: https://aboullaite.me/kvm-qemo-forward-ports-with-iptables/
1 | # connections from outside |
refer to: https://aboullaite.me/kvm-qemo-forward-ports-with-iptables/
1 | cmake_minimum_required(VERSION 3.12) |
Windows远程登录工具(mstsc)可以说是比较好用的,为了方便开发,尝试在ubuntu上搭建xRDP,结果一直卡在登录界面。
表象是输入账号密码后,屏幕空白一段时间,然后提示:
1 | connection problem,giving up |

各种分析之后发现应该是少了一个叫 xorgxrdp 的包,那就装上吧,结果这个包依赖另一个叫xserver-xorg-core的包,但是依赖不满足,所以没自动推荐安装。
那就手动安装xserver-xorg-core吧,结果发现这货要让我卸载很多东西,包括xorg的很多包和桌面(xubuntu-desktop)。。。我怕会破坏环境影响使用,就停在这里没继续了。
1 | $ sudo apt-get install xserver-xorg-core |
后来发现 Griffon 的 这篇文章:http://c-nergy.be/blog/?p=13390 (因为已经fix了,图片也是借用的他文章里的,感谢!)。文章提到卸载后再把xorg的一些包安装回去就可以了,既然有先行者了,我就跟着做吧。
各种安装、卸载,最后我多加了一步,把桌面装回来了:
1 | $ sudo apt-get install xserver-xorg-core |
装完重启,环境看起来一切OK,暂时未见明显异常。
Windows登录,成功!又可以愉快的搬砖了。。。
最后,Thanks Griffon!
所以说遇到困难还是要勇于尝试啊 =。=
感觉少了年轻时候的锐气,想当年折腾系统的时候,可是不惜数据被格式化无数遍的啊 lol.
用cmake+ndk的时候遇到一个错误:
1 | fatal error: 'asm/types.h' file not found |
用的是ndk自带的 build/cmake/android.toolchain.cmake。
看现象是include路径没包含进来。
解决方案,修改 build/cmake/android.toolchain.cmake,增加:
1 | if (${ANDROID_ABI} STREQUAL "x86_64") |
搞定。
用NDK standalone toolchain编译生成的动态库,在设备上跑的时候报这个错。
搜了一下这个符号,似乎是STL相关的(?),而且是 libgnustl 里才有。
最后解决办法:make standalone toolchain的时候,指定 --stl=libcxx ,不使用默认的 libgnustl。
这样生成的toolchain不包含这个符号,生成的动态库也不会去找这个符号。
(以前一直用的默认的libgnustl并没有报错,应该是项目上没用到STL相关的东西?)
由于某些特殊原因,公司对外出的端口进行了限制,基本上只允许最常用的几个(21,22,80,443等)。
这样的结果是,一些使用了自定义端口的网站 (https://example.com:8080) 就没办法访问了。
这样我在家里的NAS服务器上装的nextcloud需要维护管理的时候就不太方便了(因为电信默认禁止了80和443端口的访问,自建的NAS服务器只能用自定义端口)。
因为是自用,不可能让IT开绿灯,折中一下,只有找一个公司这边也开放的端口,然后就用这个端口来做NAS服务端口。
说干就干,找到一个监听了(几乎)所有端口的服务器: http://portquiz.net (表示感谢!)
写个脚本跑一跑:
#!/bin/bash
output=available_ports.txt
echo "" > $output
for i in $(seq 1 65535); do
echo "testing $i..."
nc -zv portquiz.net $i 2>&1 | grep "succeeded" >> $output
done
echo
echo "--= DONE =--"
echo
一顿扫下来,发现开放的端口果然很少。。勉强找两个用起来。
github-issue-fetcher + blog-hugo + cron job 的方式已经放弃,改用 Github Actions来自动发布了。具体见 #11
本文仅供参考
构思:
正如本篇一样,写到github的issue页面里,并保持OPEN状态。
可以加一些 Labels(blog-hugo会当作tag写入博客)
写了些Python脚本,通过Github GraphQL API去爬issue list。
由于API的限制,每次抓issues 最大只能100条(first:100),如果issue数目超过100, 需要用到 cursor 多次获取。
然后偶然发现author字段有时候会返回None, 有点没搞明白。。。
一句话:https://utteranc.es/ is amazing!!!
按照hugo和主题的需求,写Markdown文件头,以及内容。(以及评论系统的脚本)
我本地会有一个cron job自动去重新抓取issue和生成博客(如果内容没有变化,则不用push到github)。