当前位置: 首页 > Linux

为什么我从Windows切换到Linux?

时间:2023-04-06 02:05:54 Linux

本文由读者投稿!大家好!我是攻略哥,Java后端开发。一个懂一点前端,喜欢下厨的自由男孩。文中如有需要改进和完善的地方,欢迎在评论区指出,我们共同进步!哦,看到这个标题,不要以为我会写和王音前辈一样的内容,呵呵。不过这里有王音学长的文章链接:完全用Linux工作。为什么写这篇文章?首先介绍一下这篇文章的产生时间,现在是2020/04/06。三四天前,我其实并没有打算写这篇文章,但这三四天,我一直在忙着从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的自由是一种开源精神,比我描述的要大得多。至于Windows,我什至不熟悉C盘的目录里放着什么,但我并不是贬低Windows,因为这是Windows好用的代价。相应的,Linux作为自由软件也有很多缺点。Linux作为日常使用的缺点硬件驱动问题硬件驱动问题一般是安装Linux时出现的问题。根据个人计算机的配置,您的计算机的硬件驱动程序可能与要安装的Linux发行版不兼容,从而导致系统故障。相应的问题。这几天对驱动问题最深的理解就是为什么Linus会抱怨:“NvidiaFuckYou”。许多驱动程序制造商都是Linux系统的闭源。这些厂家的驱动你都可以下载,但是能不能用或者使用有问题就得付费。随着Linux在普通用户中的普及,相信未来Linux生态会发展的越来越好,现在很多Linux发行版对各种硬件的兼容也越来越多。对于使用的Ubuntu18,使用Nvidia、Wifi、蓝牙等驱动都没有问题。我现在使用的Debian10Buster可能无法很好地支持Nvidia。使用时总会出现一些小问题,但无伤大雅。其实没什么问题,我还是有点不舒服。不是说Debian是Ubuntu之父吗,哈哈。软件问题不得不承认的一点是,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:欢迎各位同学在这里写下自己遇到的问题和解决方法。IDEA编辑Markdown预渲染问题这个问题折腾了我好久。当我安装IDEA并用它来编辑markdown文件时,出现了下图所示的情况:可以看到右边渲染的图片有明显的问题。一开始怀疑是IDEA版本的问题,于是安装了其他版本的IDEA,但是没有用。这时候我怀疑是显卡问题:看是用的是intel核显,所以在查询相关资料的时候,用脚本把核显改成了独显。这里没有截图。当您切换到专用显示器时,图形将显示独立显示器的配置。使用nvidia-smi命令查看独显使用情况。于是怀着满满的期待打开IDEA,还是没有用。当我以为真的是Debian的bug时,我发现Bumblebee可以管理显卡,为什么不试试呢?所以我在安装Bumblebee后,使用optirun命令启动IDEA。没想到,真的有可能:我真的很惊讶。我也是用的独显,为什么启动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就是我们需要去掉的无线模块。后果:去掉ideapad_laptop模块后,有时开机找不到蓝牙适配器。之前在Ubuntu上没有发现这个问题。看来Debian在驱动方面不如Ubuntu。不过这也无可厚非,大部分时候都可以正常使用-_-。XMind安装XMind是用Java编写的,依赖于Openjdk8。所以要在Linux上使用XMind,首先需要有一个Openjdk8环境。其次,启动的时候需要写一个shell脚本启动(不是唯一的方式,但是很简单的一种方式),没想到,没想到,这是我玩出来之后走过很多坑。首先我们需要准备一张XMind软件的启动图:XMind.png,这个我已经放在目录下了,需要的同学可以拿来。其次,我们进入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和Exec属性。Icon就是你在桌面上看到的应用程序图标,把Icon的路径改成你的XMind.png的路径即可。再次查看Exec属性。当我们点击桌面上的XMind图标时,就会执行Exec对应的命令或脚本。我们只是将Exec改为start.sh文件的路径。不要删除sh命令,因为start.sh是一个需要sh命令才能启动的脚本。以上步骤完成并保存桌面文件后,就可以在桌面上看到XMind应用了。Fcitx候选框的定位问题这个问题贴个我的情况截图可以理解:可以看到我的光标定位在第207行,但是我输入法的候选框一直停留在IDEA的左下角。为什么我说停留在IDEA的左下角?因为就我目前的使用来说,这个问题只存在于IDEA下,不仅是Debian,Ubuntu也有这个问题。我个人认为这应该是IDEA的问题。查到的相关文章大多都是Swing题,看来这道题真的很难。如果哪位大佬知道解决办法,麻烦分享一下,万分感谢。如果对你有帮助,不要吝啬在手里观看点赞哦!“操”起来!微信搜索“JavaGuide”,回复“面试惊喜”,即可免费获取以上4本优质PDF原版。