哦,别以为看到这个标题我会写和王音学长一样的内容,呵呵。不过这里有王寅前辈的文章链接:完全用Linux工作[1]。为什么写这篇文章?首先介绍一下这篇文章的产生时间,现在是2020/08/22。三四天前,我其实并没有打算写这篇文章,但这三四天,我一直在忙着从Ubuntu18切换到Debian10Buster。没时间写代码,手真痒。您可能无法想象,作为一个以前一直使用Ubuntu的人,我花了这么长时间才转向Debian。你可能认为我是在劝你戒烟,但我不是。我只是想表达:我对Linux不熟悉。熟悉,部分是因为我使用的是更加用户友好的发行版Ubuntu,部分是因为我仍然没有那么大的动力去学习Linux,尽管它已经成为我的日常使用。这篇文章不是吹嘘或贬低Windows和Linux系统,而是记录一下我作为日常学习使用Linux的心得,以及这几天再次折腾Debian以来的感受。为什么我从Windows切换到Linux?Windows是商业软件,使用起来很方便。Linux是自由软件,这使它成为开源软件。易于使用的软件通常会带来用户友好性,因此Windows已被许多普通用户开发和采用。自由软件通常会带来其社区的发展,所以现在在网上可以看到很多论坛,比如askubuntu。非常赞同《完全用 Linux 工作》的一个观点:UNIX不是计算机专家的专利。我对这句话的理解是:即使你的学习或工作方向不是计算机,你仍然可以学习Unix/Linux。如果你是计算机专业的学生,??那你更应该多学习Unix/Linux。但这只是我从Win转向Linux的一部分原因,另一个很重要的原因是我受够了Windows的“易用性”。这里的易用性并不是说我拒绝Windows的人性化,而是因为人性化给我带来了很多学习上的困难。举一个很简单的例子:当你在学习一项技术时,不管你是否需要面试和造火箭,你会不会好奇地想了解它的原理和实现,即使你知道它很复杂。你为什么会对某样东西的来源感到好奇?我个人认为的答案是:有趣的东西就在眼前,何乐而不为呢?Windows只是有趣而已,但它并不“在你面前”。我的个人经历,不知道有没有同学和我有一样的经历。在很多情况下,您的Windows可能会出现一些莫名其妙的问题,但您不知道如何解决它们。你只能求助于搜索引擎。解决问题后,您不想知道为什么会这样,因为Windows太大了。例如:我现在安装了Git,它可以正常工作。但是过了一段时间,Git就莫名其妙的不可用了,显然你什么都没做。更有什者,还有一些流氓问题或流氓软件无法解决和封杀。出现了问题,必须要解决,于是这时你开始在网上查找相关问题的解决方法,运气好的话,其他人可能遇到了和你一样的问题,你可能因此得到答案.但是一般的回答只是教你如何解决,比如打开注册表,增加或删除一个键值,你不会想知道为什么,因为对于初学者来说,当你看到注册表中有那么多内容时,你只想着不犯错误,你怎么能想到学习这些东西呢?如果你运气不好,没有更换系统的打算,那你可以凑合一下,但这个时候,你心里可能已经厌倦了Windows。我对流氓软件的定义是:当你想要一个像你的想法一样的软件停止工作或停止弹出广告,而该软件没有或没有很好地完成你想要的工作时,它就是流氓软件。你可能会说,每个人的要求都不一样,软件怎么能满足每个人的标准呢?但是我说的是最基本的需求比如停止和停止弹窗广告,如果一个软件连最基本的需求都实现了不,为什么还要用它呢?总结一下,我从Window转向Linux的主要原因是:学习和自由。是的,你不得不承认,Linux是你学习计算机的一个非常好的环境。与C/C++自然融合,比你在Windows上冷冰冰地装个IDE,开始敲代码的感觉要多一点。还有一点就是有些同学可能和我一样。他们刚接触Linux的时候,都是在Windows上安装虚拟机环境或者使用Docker来学习。不可否认,这确实是在Windows上学习Linux的主要方式,但是大家有没有觉得这样学习的时候,总觉得Linux很陌生,看来我只是为了学习而学习。产生这种想法的主要原因是你还没有融入Linux环境。当你融入Linux环境后,不再只是学习那些操作命令,难免会遇到从未接触过的人。这不是您在Windows上遇到的烦人的“缺少图标”问题,但可能是由于Nvidia的驱动程序导致的黑屏让您有点害怕。你也会在网上查找为什么会出现这个问题,但不是“修改注册表”的答案,你会了解到:为什么Nvidia在Linux上会出现这个问题?我该怎么做对驱动程序进行故障排除?其他驱动程序是否与Nvidia有类似问题?当你解决了问题并且你的电脑开始正常工作时,你就开始将它用于你的日常使用......最后说明学习Linux的原因是因为我认为我不够谨慎,不够克制足够的。当我使用Windows时,我无法抗拒玩那些新游戏的冲动,而当我这样做时,我通常会玩很长时间,也许一天-_-。但是,我并不是说Linux上没有游戏。相反,Linux对很多游戏的支持都很好。你可以玩很多游戏,但你会不会因为使用Linux而对游戏如此痴迷,至少我是这样。这归结为“使用Linux来帮助玩游戏”,哈哈。再谈自由:我对自由的理解是:软件在你的掌控之中,你可以了解它的每一部分,你可以去你想去的地方,没有任何限制,就看你愿不愿意。让我们来看看基本的Linux目录:Linux目录中的这些目录你可能不知道很多,但没关系,因为这就是Linux系统中的所有目录(大部分)。什么文件。这只是我的个人经历。总之,Linux的自由是一种开源精神,比我描述的要大得多。至于Windows,我什至不熟悉C盘的目录里放着什么,但我并不是贬低Windows,因为这是Windows好用的代价。相应的,作为自由软件,Linux也有很多缺点。Linux作为日常使用的缺点硬件驱动问题硬件驱动问题一般是安装Linux时出现的问题。根据个人计算机的配置,您的计算机的硬件驱动程序可能与要安装的Linux发行版不兼容,从而导致系统故障。相应的问题。我这几天对驱动问题最深刻的体会就是为什么Linus会抱怨:“NvidiaFuckYou”。许多驱动程序制造商都是Linux系统的闭源。你可以下载这些厂家的驱动,但是能不能用或者有什么问题就得付费了。随着Linux在普通用户中的普及,相信未来Linux生态会发展的越来越好,现在很多Linux发行版对各种硬件的兼容也越来越多。对于使用的Ubuntu18,使用Nvidia、Wifi、蓝牙等驱动都没有问题。我现在使用的Debian10Buster可能无法很好地支持Nvidia。使用时总会出现一些小问题,但无伤大雅。事实上,没有任何问题。软件问题不得不承认的一点是,Linux的软件生态系统确实不如Windows丰富。在考虑切换系统之前,首先要调查一下Linux上是否有你需要的软件,你需要的软件是否支持跨平台,是否有替代应用。个人对软件需求比较简单,大部分是生产力工具,其他应用比如娱乐软件可以用网页版代替。如果你想在Linux系统上试玩游戏,我觉得没问题,因为我也试过LinuxDota2,体验很好(不是广告-_-)。不过国内的游戏厂商大多对Linux的支持很差,过不了这一关就别换系统了。软件问题其实可以分为两部分,一部分是刚刚介绍的生态问题,另一部分是你在使用某些软件的时候,总会出现一些小bug。以Fcitx为例,Fcitx是一个通用的Linux输入法框架,被称为小企鹅输入法。很多输入法都是在Fcitx之上开发的,比如搜狗、谷歌拼音、孙拼音等。使用过Fcitx的同学可能会遇到这样的问题:在某些软件上使用Fcitx打字时,候选框不会跟随你输入的位置cursor,但是会一直固定在某个位置,而且不能改变,这个问题是我目前看到的最大的bug。不过这个bug只存在于部分软件,Chrome和Typora没有这个问题,让我怀疑是软件国际化的问题,不是Fcitx的问题。所以第二部分总结一下,有些软件可能存在一些未知的bug,你得想办法解决,或者耐心使用,使用linux也得牺牲一些成本。你真的需要完全使用Linux吗?说到这里,其实想借用知乎一位前辈的话表达我的真实想法:“Linux最好的地方就是开放自由,最大的问题也在这里。普通人没有能力选择,他们没有时间做选择,透明度就一定好吗?也有很多人喜欢被安排!正如我在开头所说:“我对Linux不熟悉,部分原因是我使用的Ubuntu是一个更加用户友好的发行版,部分原因是我仍然没有那么多学习Linux的动力,尽管这是我的日常使用。”我使用linux完全是为了学习和自由,在linux上真的很自由,在网上学到了很多东西,但是我一直沉迷于使用linux的满足感,并不能真正理解linux带来的是什么我们。这次从Ubuntu切换到Debian的原因是想尝试一个新的环境,但是当我花了3、4天的时候,我明白了:我只是在一个地方待了很久,想换一个新的地方,但是老地方不一定不好,因为我对这个老地方了解不多,就像我从Windows转到Linux的时候,在没有深入了解Windows的情况下就换了。那时候还在吐槽Windows的各种缺点,现在看来可笑。文末几乎把我想说的都说了。本人文笔有限,本文主观性太强。如果觉得这篇文章不合胃口,就当笑话看吧。我在使用Debian/Ubuntu时遇到的问题以下内容是我在Debian10Buster下遇到的问题及相关解决方案。使用Ubuntu和其他版本Debian的同学也可以借鉴。PS:欢迎各位同学在这里写下自己遇到的问题和解决方法。IDEAeditMarkdownpre-renderingissue这个问题折腾了我好久。当我安装IDEA并用它来编辑markdown文件时,出现了如下图所示的情况:Debian10下IDEA的Markdown预渲染问题可以看到右边的渲染图有明显的问题。一开始怀疑是IDEA版本的问题,于是安装了其他版本的IDEA,但是没有用。这时我怀疑是显卡的问题:我的电脑配置可以看到是用的是intel的核显,于是在搜索相关资料的时候用脚本把核显改成了独显。这里没有截图。当您切换到独显时,图形将显示独显的配置。使用nvidia-smi命令查看独显使用情况。.于是怀着满满的期待打开IDEA,还是没有用。当我以为真的是Debian的bug时,我发现Bumblebee可以管理显卡。为什么不试试呢?所以我在安装Bumblebee后,使用optirun命令启动IDEA。没想到真的可以:Debian10下预装IDEA的Markdown渲染解决后,真的很奇怪,为什么启动optirun的时候可以正常显示optirun。所以后来查看了optirun是否开启了gpu加速,可惜没有得到相关的回答,不过让我确定问题出在显卡上。如果有哪位知道原因,请告知,万分感谢。找不到wifi适配器。我猜(不确定)这个问题应该出现在大多数使用联想笔记本的同学身上,不仅仅是Debian,Ubuntu也有这个问题。系统安装好后,我们打开设置,发现wifi栏显示“找不到wifi适配器”等错误信息。这个问题可能的原因是:无线网卡被屏蔽了,需要手动打开电脑上的wifi开关,但是我的笔记本没有打开wifi开关,所以可以猜测是一个联想网卡驱动问题。您可以使用rfkilllistall命令检查您的wlan是否被阻止。没有这个命令的同学可以使用sudoapt-getinstallrfkill安装。当wlan显示Hardblocked:true时,证明你的无线驱动被屏蔽了。解决办法是从内核中去掉屏蔽infinitedriver的模块,直接编辑/etc/modprobe.d目录下的blacklist.conf文件,内容为:blacklistideapad_laptop文件名可以不写和我的一样,但它必须以.conf结尾。modprobe.d目录下的文件可以理解为黑名单文件。Linux启动时,不会加载conf文件中指定的模块。这里的ideapad_laptop就是我们需要去掉的无线模块。后果:我们去掉ideapadlaptop模块后,有时开机找不到蓝牙适配器,但是之前在Ubuntu上没有发现这个问题。看来Debian在驱动方面不如Ubuntu。但这是可以理解的,而且大多数时候都可以正常工作——。XMind安装XMind是用Java编写的,依赖于Openjdk8。所以要在Linux上使用XMind,首先需要一个Openjdk8环境。其次,在启动的时候,需要写一个shell脚本来启动(不是唯一的方式,但是很简单的方式)。我没想到,我也没想到。首先我们需要准备一张XMind软件的启动图:XMind.png,我已经放在目录[3]里了,需要的同学请自取。其次,我们进入XMind_amd64目录,32位系统的同学进入XMind_i386目录,我们创建并编辑start.sh脚本,其内容为:#!/bin/bashcd/home/guang19/SDK/xmind/XMind_amd64(这个路径就是给你XMind脚本的路径)./XMind这个脚本的内容很简单。启动脚本时,进入目录直接启动XMind。脚本写好后,需要执行。使用chmod+xstart.sh命令使start.sh能够执行。此时,你可以尝试执行./start.sh命令来启动XMind。如果启动成功,那么已经完成了99%的完成。如果启动不成功,可以检查前面的步骤是否有误。如果你以后只想用shell来启动XMind,那就到此为止吧,你连上面说的图片都不要了。如果想要更方便的启动,需要创建一个桌面文件启动。在Debian/Ubuntu下,你看到的桌面文件都存放在/usr/share/applications目录下(有的也在.local/share/applications目录下),这个目录下的所有文件都是以.desktop结尾的。我们现在需要在这个目录下创建xmind.desktop文件(名称可以不叫xmind)。其内容为:[DesktopEntry]Encoding=UTF-8Name=XMindType=ApplicationExec=sh/home/guang19/SDK/xmind/XMind_amd64/start.shIcon=/home/guang19/SDK/xmind/XMind.png我们只需要了解图标和执行属性。Icon就是你在桌面上看到的应用程序图标,把Icon的路径改成你的XMind.png的路径即可。再次查看Exec属性。当我们点击桌面上的XMind图标时,就会执行Exec对应的命令或脚本。我们可以把Exec改成start.sh文件的路径。不要删除sh命令,因为start.sh是一个脚本,需要sh命令才能启动。以上步骤完成并保存桌面文件后,就可以在桌面上看到XMind应用了。Fcitx候选框的定位问题这个问题贴个我的情况截图可以理解:Fcitx候选框定位问题可以看到我的光标定位在第207行,但是我的输入法的候选框一直停留在左下角想法。为什么我说停留在IDEA的左下角?因为就我目前使用的来说,这个问题只存在于IDEA下,不仅是Debian,还有Ubuntu。我个人认为这应该是IDEA的问题。检查得到的相关文章大多是关于Swing问题的。看来这道题真的很难。如果哪位大佬知道解决办法,麻烦分享一下,万分感谢。
