Linux

夜间模式

自从苹果系统推出了夜间模式,微软在Win10之前也有了跟进。今天在 Ubuntu18.04 LTS 中偶然也发现了这个新功能。 我记得刚开始使用苹果设备时候,觉得切换成夜间模式后屏幕黄不拉几的太丑了,可是瞬间就习惯了那种暖暖的感觉,以至于到现在我的电子产品如果到了晚上还是那种一本正经的白就感觉太刺眼了浑身都难受,感觉已经离不开夜间模式了。 其实在这里我是想说,我是想感叹有时候人性真的好便宜,某些时候毫无原则可言,看似是自己喜恶主管选择的结果,可谁敢非常肯定的说一个人自己的自由思想不是被他人所提前定义好的呢?

夜间模式 Read More »

双显卡笔记本Ubuntu安装NVIDIA显卡驱动

安装好Ubuntu后,默认应该使用的是Intel核心显卡。由于我的电脑实在太老,cpu核显是10年出的第一代酷睿i5,所以性能其实是很差的。大多数时候勉强够用,可是我需要用到一些3D处理的软件,这时候就出现一些问题。 我用Meshlab查看一些3D点云时候图像要不显示不出来,要不是就像马赛了一样难以分辨,如下图。       于是安装独立显卡驱动势在必行。 我的电脑是425M显卡,应该不用和机器学习那帮人一样还得装CUDA啥的。默认的驱动应该就够用,这应该代表了很大一部分用户的需求。我通过查询资料找到找到有两个途径,一个是通过NVIDIA安装最新驱动,一个是通过Ubuntu安装软件库的驱动。我选择了第二种,步骤如下: sudo apt install ubuntu-drivers-common 首先上述命令安装一个ubuntu驱动的管理程序,我的16.04提示默认就已经有安装。 然后可以列出电脑上的设备: shuspieler@shuspieler-Rev-1-0:~$ ubuntu-drivers devices == /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 == model : GF108M [GeForce GT 425M] vendor : NVIDIA Corporation modalias : pci:v000010DEd00000DF0sv000017AAsd0000396Cbc03sc00i00 driver : nvidia-384 – distro non-free recommended driver : xserver-xorg-video-nouveau – distro free builtin driver : nvidia-304 – distro non-free driver : nvidia-340

双显卡笔记本Ubuntu安装NVIDIA显卡驱动 Read More »

新版有风险,尝鲜需谨慎

最近我的一个Hiwi项目接近尾声,为了赶时间和效率,我决定在我的电脑装一个原生的Ubuntu从而在家作业。最近18.04 LTS发布了,时刻追求新鲜的我当然是安装最新版了,可是这还没几天就打脸了,现在借给U盘写入16.04镜像空隙,记录一下遇到的问题。 18.04首先桌面就有很大的不同,隐约记得是换了新的桌面环境,有透明效果,还挺漂亮的。 但是遇到的坑也在这里,估计是新版显示相关的库有更新,我用来查看3D点云的Meshlab不能正常工作。并且这种和系统关联很底层显示相关的问题都很难网上找到解决方案,况且我的系统还这么新。 所以我决定迂回策略。使用python的open3D包代替Meshlab来显示3D点云,可是弹出来的框依旧一片白,看来用包调用依旧不能回避系统的显示问题,这也印证了应该新系统和之前代码不兼容造成的。 放在平时我更希望弄清楚所以然,可是在工作相关的事情,时间这么紧迫,稳定在这个时候成了更重要的元素,没有了稳定其他的事情都无从谈起。 这对于之后的工作还是有启发的,自己玩耍可以尝新,并且越新越好,体验最前沿的科技。但是与他人合作或者工作内容,稳定还是要放在第一位的,只有把事情高质量按时完成,这才是最应该达到的目标。 更新: 换成16.04 LTS 发现问题依旧。。。 经过都是泪的尝试,知道了这应该是我电脑本身驱动的问题。由于是9年前的第一代酷睿i5处理器,应该是Ubuntu默认使用核心显卡造成的问题。所以折腾了一天还得重新处理独立显卡驱动问题。  

新版有风险,尝鲜需谨慎 Read More »

dd对磁盘写入一个iso镜像后,使用fdisk和mkfs不能够正确分区的一个解决办法

工作性质决定我需要经常给一些设备装系统。不管是windows还是Linux使用U盘作为介质是最方便的。在Linux下我用dd将一个iso文件整体写入了一个U盘,装系统很顺利,可是我将写入iso后的U盘恢复成正常的fat32或者ntfs时候出现了一些问题。 常规操作是我用fdisk分区,并且用mkfs格式化成正确的格式,可是系统仍旧能够识别这是一个ubuntu光盘,卷标也显示我当时烧录iso时候对应的文件名字。按道理来说fdisk将新的分区表数据写入了磁盘最开头的512字节(MBR分区表),然后剩余的空间对于计算机开说就是空白的。可是多次常识iso的卷标依旧存在,阴魂不散的现象让人特别费解。 没有专业研究过分区表的格式,根据直觉我猜测卷标应该是存在磁盘头部的一个位置,而这个位置fdisk是不能修改的,而系统通过留存的iso卷标将这个磁盘判断为一个光盘。所以我尝试用dd将真个磁盘清零后重新写分区表: 经过dd将磁盘整体清洗一遍确实问题解决。但是有个问题就算挺费时间的。就像刚才我猜测卷标问题因该出在磁盘首部,所以我后来尝试用dd写入一定时间后ctrl+c中断执行,再用fdisk重写分区表就恢复正常。或者另外一个办法,dd之后由于mbr被破坏,插入windows会提示无法识别,用windows重新格式化一下也可以恢复正常。 上边是野路子解决了dd写入iso后卷标不能消掉的方案。下边的链接里边更加专业的写了这个问题的原因以及高手们的解决方法。 Reference: http://ju.outofmemory.cn/entry/137892 http://tieba.baidu.com/p/3010639025

dd对磁盘写入一个iso镜像后,使用fdisk和mkfs不能够正确分区的一个解决办法 Read More »

使用root账户不能登陆phpmyadmin的解决方法

最近打算在树莓派搭建一个Web服务器放在我中国的家中。在轻车熟路安装了Apache2, PHP以及MySQL后,我发现没有要求我输入数据库root的密码。通过查资料知道可以通过空密码登陆然后修改root密码: sudo mysql -u root 成功登录后是上边的样子。然后通过下边命令给root账户修改密码: use mysql; set password=PASSWORD(‘ your new password’); flush privileges; exit; 命令成功执行后可以查看一下是否可以用新密码登陆: sudo mysql -u root -p 这时候在命令行已经可以登陆,但是在phpmyadmin中输入正确的账号密码却会有如下的错误: 使用root账户死活登陆不上。可是我明明在另外的服务器可以成功登陆的。。。 通过查资料知道从MySQL 5.7开始安全策略被更改了,使用root登陆MySQL数据库,同时需要Linux也是root账户或者是sudo。而phpmyadmin默认的话是Apache的www-data账户,所以所权限不对。而刚才CLI测试的时候我们有加sudo,所以避开了这个问题。解决方法是最好新建一个账户,然后赋予所有数据库权限就可以了。 首先连接数据库,并打开mysql数据表: sudo mysql –user=root mysql 然后添加一个新用户,并且赋予所有权限: CREATE USER ‘phpmyadmin’@’localhost’ IDENTIFIED BY ‘some_pass’; GRANT ALL PRIVILEGES ON *.* TO ‘phpmyadmin’@’localhost’ WITH GRANT OPTION; FLUSH PRIVILEGES; 这样用新用户就可以登陆phpmyadmin了。另外默认MySQL服务器只允许本机连接,可以通过修改配置文件改为全局。   Reference: https://askubuntu.com/questions/763336/cannot-enter-phpmyadmin-as-root-mysql-5-7

使用root账户不能登陆phpmyadmin的解决方法 Read More »

Linux 安装中文输入法

sudo apt install ibus ibus-pinyin 之后在系统的设置页面已经有了ibus相对应的管理页面。并且右上角又有一个语言切换的图标。在其中添加Chinese pinyin后,在terminal中重启ibus后,右上角切换语言按钮就会有拼音选项。 sudo ibus restart 多数情况已经可以正常使用了。偶尔会在拼音选取框出问题,这时可以尝试在ibus管理页面将横向选取框换成竖直。

Linux 安装中文输入法 Read More »

博客不能发送邮件通知

基础信息: wordpress,原EC2是amazon-Linux,现在ubuntu 我的博客搬过一次家,从位于法兰克福的亚马逊云搬到了日本的亚马逊。由于环境几乎是完全一样的,搬过来博客运转很正常我也就没想起来检查邮件通知这回事情。前几天我在后台更换主邮箱没有收到确认邮件,当时也没在意,今天有个人在帖子回复我消息,我在认真回答后很关心Ta能不能收到我的回复邮件通知。后来尝试发现我的php服务器即使测试发送成功,我的个人邮箱也并不能收到邮件,不是spam的原因,就是发送端还有问题。 查资料是我Linux缺少一些库,所以即使php配置没问题,但是系统后援跟不上。解决方法不复杂: sudo apt install sendmail sudo apt install sendmail-cf sudo apt install mailutils sudo apt install sharutils 其中mailutils是邮件的基础功能,sharutils是带附件功能。默认的配置只能给自身发送邮件,需要更改为允许给任何地址发送: sudo vim  /etc/mail/sendmail.mc 找到Port=smtp, Addr=127.0.0.1′)dnl  改成 Port=smtp, Addr=0.0.0.0′)dnl , 保存。 下一步备份并生成新的配置文件: sudo -i cd /etc/mail mv sendmail.cf sendmail.org m4 sendmail.mc > sendmail.cf 然后重启服务: sudo service sendmail restart sudo service apache2 restart 有个简单的测试程序,在terminal中运行: echo “test mail ok”

博客不能发送邮件通知 Read More »

树洞来到日本啦

历时几天,搬家完成。服务器以及数据库全部换到了东京的服务器上。记录一下搬家快结束时候遇到的坑。 搬家途中就不说了,都是泪。到了最后一步,网页数据已经转移了过来,数据库也在东京克隆可一模一样的,并且wordpress配置文件的数据库地址已经换了过来。其中我的事情比其他人麻烦的一步是我之前服务器启用了SSL,也就是网址是https://shuspieler.com,现在新的服务器为了降低性能消耗,打算后端不启用加密,前端通过CDN实现SSL小绿锁。所以需要把数据库中一些链接换过来。我不会SQL语法,从网上看例程还是挺简单的,结合phpmyadmin执行下边的语句: UPDATE wp_options SET option_value = REPLACE(option_value,’旧地址’,’新地址’); UPDATE wp_posts SET post_content = replace(post_content,’旧地址’,’新地址’); UPDATE wp_posts SET post_excerpt= replace(post_excerpt,’旧地址’,’新地址’); UPDATE wp_posts SET guid= replace(guid, ‘旧地址’,’新地址’); 其中wp_post 是表单名,REPLACE中第一项是表单中某一项的名字,我不知道那个专业名词叫啥。这四个地儿涵盖了绝大部分需要该链接的地儿,反正结合phpmyadmin看有没有落下其他的,尤其第三方插件保存的数据中。 接下来是最坑的,弄了好久,感觉十点半可以收工了,刷了一下首页成功,然后打开后台管理页面成功,可是所有的文章页面都是404 Not Found。夜已深,我对于这个现象没有任何头绪。。。 而且在wordpress设置中将自定义固定连接还原成默认的形式,类似于这样http://blog.shuspieler.com/?p=123就显示正确,而这类的网址简直反人类,我之前自定义成为http://blog.shuspieler.com/%post_id%/形式,类似于这篇最后就会张这样:http://blog.shuspieler.com/742/ 搬家后,除了首页可以正确显示,其他页面都是Not found。换成默认链接就可以显示,不能有任何自定义的固定链接形式。所以怀疑是rewrite-mod出问题了。之前一步一步搭建过一遍,还是有作用的。虽然我记得之前那个模块不运行的话wordpress会提示,而这次并没显示。我还是查了查我的服务器。果然默认关闭。 ubuntu的apache2中rewrite-mod开启方式是这样的: sudo a2enmod rewrite 然后修改apache2的配置文件: sudo vim /etc/apache2/apache2.conf 将其中/var/www/下的AllowOverride 从None改成All。注意这个文件中有好几处AllowOverride,这个地方的最关键。 <Directory /var/www/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> 然后重启apache2:

树洞来到日本啦 Read More »

树洞一年了,要搬家啦

去年6月底开始使用的亚马逊AWS,现在正好一年。免费套餐也用完了,正好我有两个帐号,也结合国内访问需求,马上准备将树洞搬到东京啦。 选东京主要是照顾国内需求,我在这儿使用cloudflare加速的情况下体验几乎没区别,也就我一人访问,属于我的秘密花园,性能负荷上也不是问题。 翻看一年的帖子,最大一个感慨是为何不早点找个稳定的地方搭建博客。从高中就知道这个新鲜事物,如果那时候足够敏锐的话我现在也是十年老博主,能沉淀下来多少技术学习文档,以及更为珍贵的当时的心情。 往者不可谏,来者犹可追。种一棵树最好的时间是十年前,其次是今天。 当我的博客到达新的家后,我要常回家看看啦。越来越喜欢我的这个名字: 树洞:我的家。

树洞一年了,要搬家啦 Read More »

专业的事情,交给专业的人去做

大约一年前,我想尝试自己搭建一个XXX服务器,一方面自己可能偶尔有使用的需求,另外一方面是亲自做一遍熟悉一下并且记录搭建步骤,之后再有需要到话拿出之前到笔记迅速就能完成。 记得当时搭建时候费了很大到劲,命令不熟,各种包找不到,以及亚马逊防火墙的各种坑。看了很多帖子,踩了不少坑,用了很久时间终于把L2TP搞定了,苹果Android都可以连接,当时还是超级开心的,并且特别详细到把每一步骤都记录了下来,一方面为自己留存,一方面觉得其他的教程帖都是垃圾,按照我的这个一步一步来肯定能作成。 最近就到了翻笔记到时候。国内同学有这个需要,我法兰克福服务器在国内连接有点慢,所以打算搬到东京,然后特别欢喜的打开我的帖子一步一步照着配置我的新服务器。 然而噩梦就此开始了。时隔一年,用到了各种软件都有升级,有些甚至安装方法都不一样,本以为半小时说有事情完成,可是光安装包就用了很久。其中一个包由于亚马逊Linux内核升级还报错,虽然找到了解决方案但是我还是不清楚到底有没有正常运行。安装包还好,更折磨人到是一些包到配置文档发生了结构改变,我直接复制之前到内容到新服务器,软件根本不能识别我的配置语句,也就算说,我得重新读一遍新的文档,并且按照新的结构结合我的需求再写一遍。这和我第一次配置有啥区别,并且我沾沾自喜的笔记也毫无作用。 以为半小时到工作量,至少做了有5小时还没搞定。所遇到的问题我也有头绪知道该怎样解决,报出的错误我也差不多能找到原因在那儿,可是我就是想配置个XXX服务器啊,我每天工作重点不是搞这个,我不想将我的大量时间投入在这个一次性工作,因为可能现在学会了可是一段时间后又有了新的问题。突然间也特别理解网上写教程到博主,之前一直好奇为何这么多人写一些错误到教程,有效的却少之又少,现在逐渐明白,那些并不是错误的,只是博主写作当时可以运行可是后边由于某种关系不好使了。就像我到那篇事无巨细的流程贴,现在即使是让我看来,也是一篇行不通的方案。 后来我用了github的安装脚本,星星和分叉都很高,上边还写着在不同的系统都测试通过,我尝试着安装,确实太好用了,随便点几下就同时配置好了L2TP和PPTP,让我自己搞到话估计还需要好久,而这个脚本时间大约只用了十分钟。并且这个repository是开源的,也不用担心有病毒,这只是一些脚本文件,每一个我都能看懂它在干什么,只是我自己做到话,这么多句命令我不能保证全部一次性正确,所以需要搞很久。并且这个开源的代码是随时更新的,像我遇到的软件升级配置文件语法不一样到情形,这个脚本的用户会很快察觉到,并且提交issue快速做出更改。这也是开源共同协作到力量。 这个经历让我特别感慨,感慨到内容就是题目这句话:专业的事情,交给专业到人去做,每个人就尽力把自己到任务做到最好。像刚才配置XXX,我自己再扣下去的话也肯定能搞成,因为第一次我就是这样一步一步弄好的,可是特别的费时费力,并且是一次性的我的成绩用不了多久就被淘汰了。所以这么多时间,我把我的事情做好该多好,将机器学习自动驾驶往前推动那么一丢丢,这样其他人直接用我的成果而给他们方便很多事情。我搭建XXX就直接用他们专业人士到脚本,心情也舒畅,多好。 未来是个协作的社会,我之前所有事总要自己亲自亲为的想法似乎需要多元化一些了。大家各司其职,努力将这个社会推动向更美好。多好啊。 但是同时也是这个经历给自己到感悟,由于配置服务器我曾经全部都弄过一次,所以用网上这个脚本我能根据我的需求做很多自定义的事情,而不是像个黑盒只看这工作了而对其中到流程一无所知。在自动配置完成后我觉得有些地方默认的设置不太好,我直接就能找到它配置文件所在的地儿,并且做出我喜欢的更改,仍然特别的开心。   我所所用到脚本是这个: https://github.com/bedefaced/vpn-install

专业的事情,交给专业的人去做 Read More »