一个属于左半红印的Avalon

Copyright © 2008-2026
Powered by WordPress
Use theme BlackCooler
Created by Redonleft
鄂ICP备19016979号-1
川公网安备51011202000667
文章归档
C:\>
Linux 第一步

这段时间一直在折腾这个,到现在算是到了个初级阶段,整个过程非常坎坷。其实在折腾之前,我已经做了很大的心里准备,反复查了不少视频,感觉做足了功课。然后……然后果然连系统安装都会卡。作为一个开放的系统,有一个通病就是破碎化,天差地别的系统版本铺天盖地。作为一个纯新小白,根本无从选择,而唯一的判断就是……看哪个UI漂亮用哪个。这也是为什么我的首选是deepin,然后就卡安装了,连个报错都没有就卡了。没办法只能改为安装搭载UKUI3.0的ubuntu-kylin,算是过了第一关。类似这样的关卡后面还有太多太多,再后来因为被KDE的桌面吸引,而compiz又太久不更新,所以又改为安装manjiaro。也就在这个时候,我才知道原来这个我以前根本没有听说过的manjiaro系统的排名竟然如此之高。

https://distrowatch.com/table.php?distribution=manjaro

于是在成功摆弄出KDE的桌面特效之后,各种常用软件的安装继续会给我带来麻烦。对于像我这样从windows生态过来的用户,有大量商业软件的需求,而这些软件鲜有好用的linux 版本。就说QQ吧,你说腾讯没有linux版本的QQ吗?人家当然有了,经过实际操作,发现对几个操作系统的兼容性都还不错。但是,有个使用条件就是你得忍受QQ在上个世纪的UI和功能。所以不得不使用一个不那么直接的方案,wine。这种虚拟机方案效率不高,运行慢,还有IP6的bug,但至少能用。

是的,对于我这种新手,在现阶段很多时候都不得不忍受这种状况就是“至少能用”。搜狗输入法没法用,就用默认输入法吧,至少能用。remmina的桌面分辨率异常,桌面UI特别大,但至少能用。诶……没办法。说道这里,为什么放的好好的windows不用要来折腾linux呢?其实我并没有放弃windows,无论是生活还是工作windows在目前看来都有不可代替的优势。之所以来折腾linux,只是我想要折腾而已。可以说是找虐,但是可以获得更大的自由。

以上这些只是我初探linux几天后的感受,实际上我在大学时期曾经折腾过一个月的ubuntu,后来放弃了。但在当下,虽然只有几天,但是我走的路程比上次远很多,对系统的理解耶深了很多,于是很自然的获得更多的成就感。以后,我会陆续再更新一些使用这个系统的感觉。

左半红印创作于2020.05.17th
C:\>
V2RAY碰到500 Internal错误

5月7日更新,时间校准后依然还会有500报错,下方的方法是无效的。目前可知最简单的解决方法就是重启一下客户端。

这是我自己架设VPN服务器后遇到的问题,不好说是否已经解决,只是暂时OK了,需要在日后使用中继续观察。以下是报错信息。

500 Internal Privoxy Error
Privoxy encountered an error while processing your request:

Could not load template file no-server-data or one of its included components.

Please contact your proxy administrator.

If you are the proxy administrator, please put the required file(s)in the (confdir)/templates directory. The location of the (confdir) directory is specified in the main Privoxy config file. (It’s typically the Privoxy install directory).

这个问题并不是我一个人遇到的,实际上网上我看到有不少人都遇到了。但解决方法几乎都不靠谱。因为基本上碰到这个问题的人都没有搞清楚到底为什么会产生这个错误。一直到最后我找到了这篇日志

https://www.obodizhu.com/online/v2ray-fix-500-internal-privoxy-error.html

感觉上说的挺靠谱的,问题出自V2RAY对服务器和客户端时间匹配要求较高,所以一旦出现使用端和服务器的本地时间发生较大差异时会报这个错误。依照这个理论解决方法其实不难,也就是同步客户端和服务器的时间同步网络时间即可。本地的时间同步我就不写了,很简单。我接下来遇到的问题是我的服务器装的ubuntu系统,那么咋个同步网络时间呢。首先,安装ntp,注意不同linux的安装方式不一样,ubuntu的方式是

apt-get install ntp

在安装的过程中仔细看一下就会发现,ubuntu本身自带这个,所谓安装不过是给ntp升了个级。OK,因为我是这方面小白,所以还是解释一个ntp是个啥,我直接引用了。

网络时间协议,英文名称:Network Time Protocol(NTP)是用来使计算机时间同步化的一种协议

升级后ntp后开始同步时间,同步对象是ntp时间服务器

ntpdate pool.ntp.org

可惜报错

the NTP socket is in use, exiting

网上查了一下,大部分都说是因为ntp的默认socket号是123,而ntp本身正在占用这个socket号,所以无法同步。解决方法就是暂时停用ntp服务

service ntpd stop

但神奇的是我这里又报错了

Failed to stop ntpd.service: Unit ntpd.service not loaded.

其实到最后我才发现,我这里要停止的服务应该是ntp,可为什么网上都写着ntpd呢?那当我输入停止ntpd的命令时肯定是报错啊。不过当时我并没有太在意这点,而是找了其他方法来关闭ntp,就是kill PID。利用下面这个命令查看默认端口123的占用者是谁。

lsof -i:123

会得到这个结果

COMMAND   PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
ntpd    20150  ntp   16u  IPv4 48022499      0t0  UDP localhost.localdomain:ntp 
ntpd    20150  ntp   17u  IPv4 48022501      0t0  UDP 172.19.0.10:ntp 
ntpd    20150  ntp   18u  IPv6 48022503      0t0  UDP ip6-localhost:ntp 
ntpd    20150  ntp   19u  IPv6 48022507      0t0  UDP [fe80::5054:ff:fea5:7d38]:ntp

诶?名称是叫ntpd啊?!不管了,这个名称不对。kill对应的PID即可。然后重新nptdate校准时间。

kill -9 20150

最后为了验证这货到底叫啥,我试验了一下

service ntp stop

成功!所以不管别的系统里什么情况,至少在ubuntu里,ntp就叫ntp。

左半红印创作于2020.05.4th
C:\>
Microsoft Edge
新版Edge的标识

当我们现在又提起微软浏览器的时候,往往也就笑笑。IE早就已经退出历史舞台,继任者Edge也没有力挽狂澜。我猜微软这么多年都没有搞明白到底发生了什么。要知道10多年前的IE市场占有率还在60%以上,而在2008年Chrome也才刚刚发布。所以,微软在今年推出的Edge应该是他试图重回市场主流的一次新尝试。

让我们先说说上一版Edge,采用微软自家的EdgeHTML引擎。清注意,这个EdgeHTML引擎本身是来自IE的引擎Trident,只不过做了大面积的优化和重写。虽然兼容webkit,但表现并不好。这就是我为什么在上面说微软没整明白的原因。这一版Edge虽然表现出比IE强大的性能,但它的发布已经是在2014年。此时的市场已经是Chrome的了,虽然性能相比IE是强大了不少,但和Chrome相比还是差一截。于是结果可想而知,这个并不被大众所熟知的浏览器在2019年的市场占有率甚至还没IE高(IE是2.73%,Edge是2.07%)。

基于以上的情况,我想微软应该是痛定思痛了,于是在2018年宣布下一代Edge直接基于Chromium。我想微软是终于决定适应市场潮流了,自家的引擎被人家吊打了十多年了。市场份额被chrome一步步蚕食到今天,一个随windows自带的浏览器都能混到市场边缘的角色。那么现在想要迎头赶上,最有效的方法就是应该彻底放弃老旧的核心,甩掉面子的去拥抱新事物。以上都是我的YY,但无论如何新版的Microsoft Edge,我想应该是微软在浏览器这方面,这么多年做的做的最正确的决定。

初步使用下来,我的感觉很奇妙。这NM不就是个Chrome吗?!甚至版本号都差不多,只不过加入了一下自己的特色内容。恩,还是内个味。总的来说就是,如果你是和我一样一般都使用chrome的话,使用新版Edge几乎不会感觉到差异(它甚至直接支持chrome插件)。我想这并不会帮助微软重回浏览器霸主的地位,但是一个好的开始。至少它提供给用户一个不会差的选择。至于日后谁输谁赢,也许从现在开始,都不好说了。

左半红印创作于2020.05.3rd
C:\>
解决background-image不支持css3动画

在CSS3中,有个新属性是animation,当然了如果你了解的话,transition也是一样的道理。这两个CSS3中的新属性可以让元素在页面中完成你想要的一些动画效果。但是,background-image不支持这两个属性。说实话这很扯淡,background-image也是CSS3中新增的属性,自己不支持自己还行?!

https://www.w3.org/TR/css-backgrounds-3/#the-background-image

W3有明确的显示Animatable:no,但就是不说为啥。

Name:	background-image
Value:	<bg-image>#
Initial:	none
Applies to:	all elements
Inherited:	no
Percentages:	N/A
Media:	visual
Computed value:	as specified, but with URIs made absolute
Animatable:	no

这个问题网上有个很麻烦的方法,简单说就是用backgrond-position属性,把整个动画过程切成N帧,然后把这N帧拼接成一张图,再利用CSS3定位这张图中不同位置的帧来造成动画的效果。超级麻烦好吗,先不说这个方法还要利用插件或者第三方工具来拼图,录制动画成N帧就没法弄。算了,自己来。

这里我用自己的实际情况来说明,本站的文章标题就是这个效果的完成品,鼠标移进移出的特效。红色渐变效果是用background-image中的渐变(background-image: linear-gradien)效果实现的。我无非需要它淡入淡出而已,所以很自然的可以想到利用jquery或者jqueryui,后者更方便,一个toggle方法既可以满足。

而需要调整的其实是html和css。首先是HTML,文章标题是一个简单的a链接,a后面接一个div作为背景。CSS如下:

#title a {
    z-index: 10;
    position: relative;
}

.title_background{
    background-image: linear-gradient(to right, rgba(88, 199, 238, 0), rgba(255, 0, 0, 0.5), rgba(88, 199, 238, 0));
    height: 40px;
    z-index: 0;
    position: relative;
    top: -40px;
    display: none;
}

需要注意的是div的position要设置成relative,这个属性的意义在于依据父元素定位。所以通过设置top或者left为一个负值,就可以使这两个元素重叠。我们发现a链接的属性也有position:relative,这个目的在于使z-index生效。我们希望a链接能够显示在div的上层。请注意,z-index是在position设置除了static以外的属性下才能生效的,而position的默认属性就是static,所以必须给position一个其他的设定值,这里卡了我很久。

还有一点需要说明,我们能不能将背景div放在a链接前面呢?看起来没啥区别,只是调整位置的变成了a链接而已,但是在下面的jquery动画中会出现问题,toggle方法的本质其实是将动画层的display属性最终设置为none或者block,但是背景div的display属性会影响到a链接的position定位,所以这导致在执行jquery动画后a链接的位置发生偏移,这不是我想要的。

然后是js代码,这里不多讲了,懂得自然懂。

function title_hover() {
	let title_button = document.querySelectorAll(".title_content");
	for(let i =0; i < title_button.length; i++){
		$(title_button[i]).mouseenter(function () {
			let title_b = this.querySelector('.title_background');
			$(title_b).toggle("fade",500);
		})
		$(title_button[i]).mouseleave(function () {
			let title_b = this.querySelector('.title_background');
			$(title_b).toggle("fade",500);
		})
	}
}

其中的title_content是用于包裹a链接和背景div的div,主要用于判断鼠标进出的边界。

左半红印创作于2020.04.19th
C:\>
最终幻想7重制版
Tifa Lockhart

一个很老的游戏了,当年的话题性作品。到了后来,几乎年年都有传言FF7要重制了,然后一直到了2015年,SE终于宣布FF7重制版正在制作中。万众期待……

5年过去了,今天我也终于通关了这款游戏。说实话,我接触的第一款FF是FF8,最喜欢的是FF9和10。对于FF7来说,并没有太大的情节,但是最爱蒂法!!所以在玩了FF7的DEMO之前,并没有预购。但是通过DEMO,到现在通关游戏,我还是觉得这次的重制相当不错。

OK,我试图客观的,以一个虽然并不最喜欢但也算接触过原作的老玩家的角度来聊聊它。接触过最终幻想的人应该都知道,这个系列的游戏的剧情说实话格局都非常大,不是几千上万年的纠葛就是整个星球的生死存亡。特别是在那个年代,整个游戏力求给玩家带来一种史诗般的冒险感受。所以对于野村来说,你说重制版在剧情上他要一点不改,我都不信。毕竟几十年前的老游戏,不做点更改不与时俱进一下,怎么迎合现在的市场。所以这也是现在这款游戏被讨论最多的地方,剧情到底被改了吗。野村在第一章的作法还是很聪明的,在游戏的各种剧情中夹着各种诡异的镜头来让玩家猜。

除了剧情以外,另一个最大的讨论点就是游戏分章节发售。我想不是野村故意的,而是真做不完。不然赤红十三也不会沦落到连让玩家操作都做不到。我个人认为这也是前面所说的,游戏的布局太大,以当年的表现形式没什么问题,但放在现在,确实是个太过于庞大的工程。加上野村本身的毛病,总是想弄个大动作,又做不完。我只能说这确实算是野村的毛病,不好好讲故事,各种故弄玄虚,让人有种很酷的错觉。这样不说人话导致的结果就是,要把故事讲完,花费的篇幅会多很多。所以结果就是这样了。

左半红印创作于2020.04.18th
C:\>
apache升级

说道部署php环境,现在win系统下最方便的方式应该是就是利用xampp部署apache了。但是,国内用户应该都知道,xampp官网的下载渠道非常不友好。所以才有了国内大量软件网站在提供xampp各种版本的下载。出于无奈吧,在上次升级win后,用了较早版本的xampp,部署了apache 2.3.17。

本来也没啥问题,但是在前天,服务器在某个时间点突然CPU被沾满,然后无法访问。重启后恢复正常,查找log后发现在问题发生时间点有如下报错。

[Mon Mar 30 11:04:03.905588 2020] [ssl:error] [pid 1708:tid 1676] [client 52.80.254.107:56510] AH02042: rejecting client initiated renegotiation
[Mon Mar 30 11:04:04.413411 2020] [ssl:error] [pid 1708:tid 1632] [client 52.80.254.107:56504] AH02042: rejecting client initiated renegotiation
[Mon Mar 30 13:21:27.467767 2020] [mpm_winnt:error] [pid 1708:tid 3428] AH00326: Server ran out of threads to serve requests. Consider raising the ThreadsPerChild setting

先说最后那个报错,这个很简单,就是线程满了,溢出了。apache对win系统的线程设置位于conf/extra/httpd-mpm.conf

以前的版本中,需要再httpd.conf中启用,现在默认应该是开启的。设置下面两个参数,每个子线程最大数写到1000,总共数写到10000

<IfModule mpm_winnt_module>
    ThreadsPerChild      150
    MaxRequestsPerChild    0
</IfModule>

上面那两个就比较烦人了,目前我能查到的原因竟然是apache 2.4.37的bug

https://bz.apache.org/bugzilla/show_bug.cgi?id=63052

https://blog.qualys.com/ssllabs/2019/01/23/mod_ssl-bug-and-ssl-labs-renegotiation-test?_ga=2.230200031.259520135.1585749703-39262125.1585657218

没办法了,只能升级了。不过说实话,xampp的升级策略真的够呛,说白了根本就是没有升级。xampp甚至无法安装在已经有文件的文件夹里,于是能做的就是尽量备份所有资料和配置文件。这里说的所谓的尽量备份,其实意思反而正相反。只备份配置文件,别的文件能不用的完全别用。包括apache、mysql在内只要一点文件不对,就启动不了。最后再说一下mysql的简单备份方法,用cmd。

mysqldump -h localhost -u root -p mydb >e:\mysql\mydb.sql
mysql -h localhost -u root -p mydb2 < e:\mysql\mydb2.sql

-p后面输密码不要加空格,导入时需要现在数据库里建立db才能往db里面导入。

killgod创作于2020.04.1st
C:\>
请留下您的足迹

你可以在这里对本站直接评论

也可以在任意日志文章内进行评论

如果你对本站的隐私保护有疑问,请参照上方“关于我”页面

左半红印创作于2008.11.21st

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注