Why did I switch from windows to Linux?


This article comes from readers!

hello everyone! I’m brother guide, Java back-end development. A free boy who can be a little bit front-end and likes cooking.

If the article has any need to improve and perfect the place, welcome to point out in the comment area, common progress!

Oh, when you see this title, don’t think I want to write the same content as Mr. Wang Yin. However, here is a link to the article by Wang Yin:Working entirely on Linux

Why write this article?

First of all, the time for the output of this article is 2020 / 04 / 06. I didn’t plan to write this article three or four days ago, but I’ve been busy changing from Ubuntu 18 to Debian 10 buster for the past three or four days. I don’t have time to write code. My hands are itchy. You may not imagine that I have been using Ubuntu for a long time. You may think that I am persuading you to quit. In fact, it is not. I just want to express that I am not familiar with Linux. Part of the reason is that I use the user-friendly distribution of Ubuntu, and the other part is that I still don’t Great motivation to learn Linux, even though it has always been my everyday use.

This article is not to boast about or belittle windows and Linux systems, but to record my experience of using Linux as my daily study and my feelings of wrestling with Debian again in the past few days.

Why do I switch from windows to Linux?

Windows is commercial software, which makes it easy to use. Linux is free software, which makes it open source.

Easy to use software usually brings user friendliness, so that windows has been adopted by many ordinary users. Free software usually brings about the development of its community, so you can now see many forums like ask Ubuntu on the Internet.

I very much agree with a point in working with Linux entirelyUNIX is not a computer expert’s patent.

My understanding of this sentence is: even if your study or work direction is not computer, you can still learn UNIX / Linux. If you are a computer student, then you should learn UNIX / Linux.

But that’s part of the reason I switched from win to Linux, and another important reason is that I’m fed up with the “ease of use” of windows. The ease of use here does not mean that I reject the humanization of windows, but that humanization has brought me a lot of learning difficulties. Let’s take a very simple Chestnut: when you are learning a technology, whether you need to interview to build a rocket or not, are you curious about its principle and implementation, even though you may know that it is very complicated.

Why are you curious about the source of a thing?

My personal answer is: interesting things are just around the corner. Why not understand them?

Windows is just fun, but it’s not in front of you.

My personal experience ha, I don’t know if I have the same experience with my classmates. Many times, your windows may have some inexplicable problems, but you don’t know how to solve them. You can only turn to the search engine. After you solve the problems, you don’t want to understand why this kind of problem occurs, because Windows is too large.

For example: I have git installed now, and I don’t have any problems with it. But after a period of time, GIT can’t be used inexplicably. You didn’t do anything. What’s more, some rogue problems or rogue software can’t be solved and blocked.

If you are lucky, someone may have encountered the same problem as you, and you may get the answer. However, the general answer is only to teach you how to solve, such as opening the registry, adding or deleting a key. You don’t want to know why to do it. For beginners, when you see so many contents in the registry, you just want to make no mistakes. It’s hard to think about learning this thing. If you’re out of luck and don’t plan to change the system, you may make do with it, but at this point, your mind may have grown tired of windows.

My definition of rogue software is: when you want a software such as your idea to stop running or stop pop-up ads, the software can not or can not do well to meet your requirements, this is a rogue software. You might say that everyone has different requirements. How can software meet everyone’s standards? But I mean stop and stop pop-up ads and other basic appeals. If a software can’t even achieve the most basic demands, why use it again?

To sum up, the main reasons why I switched from window to Linux are as follows:Learning and freedom.

Yes, you have to admit that Linux is a very good environment for you to learn computer. The natural integration with C / C + + is a little bit more than that when you install an IDE on windows and you start to knock on the code.

There is another point. Maybe some students like me, when they first came into contact with Linux, they installed a virtual machine environment on windows or used docker to learn. Undeniably, this is indeed the main way to learn Linux on windows. But do you feel that when you learn in this way, you always have a strange feeling to Linux. It seems that I am just learning for the sake of learning.

The main reason for this idea is that you have not been integrated into the Linux environment. When you integrate into the Linux environment, you no longer need to learn the operation commands. You will inevitably encounter a problem that you have never been exposed to. This problem is not the annoying problem of “losing icons” on Windows, but may be something that makes you afraid because of NV Idia driver and black screen problem. You will also query on the Internet why this problem occurs, but what you get is not the answer of “modify the registry”, but you will learn: why does NVIDIA have this problem on Linux? What can I do to solve the driver problem? Do other drivers have problems like NVIDIA? When you solve the problem, your computer starts to work normally, you start to use it as your daily use

The last reason for learning with Linux is that I don’t think I’m careful enough. When I use windows, I can’t completely resist the idea of contacting new games. I usually play games for a long time, maybe one day-_ -。 But I’m not saying that there are no games on Linux. On the contrary, Linux supports many games, and you can play a lot of games. But will you not be so persistent in games because of using Linux? At least I am. This can be attributed to “use Linux to help quit Games”, ha ha.

Let’s talk about freedom again

My understanding of freedom is: software is in your control, you can understand every part of it, you can go where you want to go, without any restrictions, it only depends on whether you want to.

Take a look at the basic Linux Directory:

Why did I switch from windows to Linux?

You may not know many of these directories, but it doesn’t matter, because this is all the directories in Linux system (most of them). If you have a little understanding, you will know what files are in these directories.

This is just my personal experience. In short, the freedom of Linux is an open source spirit, which is much larger than what I described. As for windows, I’m not familiar with anything in the directory of Disk C, but I’m not belittling windows, because this is the price of windows’s ease of use. Correspondingly, Linux, as a free software, also has many disadvantages.

Disadvantages of Linux as a daily use

Hardware driver problem

The hardware driver problem is usually a problem when installing Linux. According to the configuration of personal computer, the hardware driver of your computer may not be compatible with the Linux distribution to be installed, resulting in corresponding problems in the system. The most profound experience I have had in recent days on driving is that I understand why Linus great God can make complaints about “Nvidia Fuck You”. Many drivers are closed source to Linux system. You can download the drivers from these manufacturers, but you have to pay for whether they can be used or have any problems.

With the popularity of Linux among ordinary users, I believe that in the future, the ecology of Linux will develop better and better, and now many Linux distributions have better and better compatibility with various hardware. As for the Ubuntu 18 I used before, there is no problem with NVIDIA, WiFi, Bluetooth and other drivers. The debian10 Buster I’m using now may not support NVIDIA so well. There are always some small problems in using it, but it’s harmless. In fact, there are no problems. I don’t adapt to Debian. I don’t think Debian is the father of Ubuntu, ha ha.

Software issues

We have to admit that the software ecology of Linux is not as rich as that of windows. Before you consider switching systems, you must first investigate whether there are necessary software on Linux, whether the software you need supports cross platform or whether there are alternative applications. My personal requirements for software are relatively simple. Most of them are productivity tools. Other applications such as entertainment software can use the web version as an alternative. If you want to try games on Linux, I think it’s OK, because I’ve tried Linux dota2, and the experience is very good (not advertising)-_ -)。 However, most domestic game manufacturers have poor support for Linux, so if you can’t pass this threshold, don’t switch systems.

In fact, software problems can be divided into two parts. One is the ecological problems just introduced, and the other is that when you use some software, there will always be some small bugs.

As far as fcitx is concerned, fcitx is a general Linux input method framework, known as little penguin input method. Many input methods are developed on top of fcitx, such as Sogou, Google Pinyin, sunpinyin, etc. Students who have used fcitx may encounter this problem: when you type on some software with fcitx, the candidate box will not follow the position of your cursor, but will always be fixed in a certain position, and you can’t change it. This problem is the biggest bug I have seen so far. However, this bug is only found in some software, but not in chrome and typora. This makes me suspect that it is the internationalization of the software, not the fcitx problem.

So the second part sums up that some unknown bugs may appear in some software. You have to find a solution or be patient with it. You have to sacrifice some costs when using Linux.

Do you really need to use Linux completely?

Speaking of this, in fact, I would like to use the words of an elder Zhihu to express my real thoughts“The best thing about Linux is that it is open and free, and the biggest problem is here. Ordinary people have no ability to choose and no time to choose. Is transparency good? Many people like to be arranged!“ (Zhihu – Han Qing)

As I said at the beginning, “I’m not familiar with Linux, in part because I’m using the user-friendly distribution of Ubuntu, and partly because I still don’t have the incentive to learn Linux, even though it’s been my daily use.”

I use Linux completely for learning and freedom. I really feel free on Linux, and I have learned a lot, but I have been addicted to the satisfaction of using Linux, and I can’t really understand what Linux brings to us.

The reason for switching from Ubuntu to Debian this time is that I want to try a new environment, but after three or four days, I understand: I just stay in one place for a long time and want to change to a new place, but the old place is not necessarily bad, because I don’t know much about the old place, just like when I changed from windows to Linux, I didn’t know windows well At that time, I also complained about the shortcomings of windows. Now it seems that it is very ridiculous.


Almost all the words I want to say are said in one article. My writing style is limited, and the subjective consciousness of this article is too strong. If you think this article is not in line with your appetite, you should see a joke.

Problems with Debian / Ubuntu

The following are the problems I encountered in debian10 buster and related solutions, which can also be used for reference by students using other versions of Ubuntu and Debian.

PS: welcome to write down your problems and solutions here.

Idea editor markdown pre rendering problem

It took me a long time.

When I install idea and use it to edit the markdown file, the following figure will appear:

Why did I switch from windows to Linux?

You can see that there is a problem with the rendering on the right. At the beginning, I suspected that it was the idea version, so I installed other versions of idea, but it didn’t work. At this time, I suspected that the reason was the video card

Why did I switch from windows to Linux?

As you can see, Intel’s core display is used, so when I query the relevant information, I use the script to change the core display to independent display. There is no screenshot left here. When you change to display only, the graphics will display the configuration of the display. You can use the NVIDIA SMI command to view the use status of the display. So I opened idea with expectation, but it didn’t help. When I thought it was a Debian bug, I found that Bumblebee could manage the video card. Why not give it a try? So after I installed Bumblebee, I started idea with the optirun command. Unexpectedly, I could:

Why did I switch from windows to Linux?

I really wonder why optirun can display normally when it is started. So I later asked if optirun enabled GPU acceleration, but unfortunately, I didn’t get the relevant answer, but it made me sure that the problem occurred on the graphics card. If there are students who know the reason, please let me know. Thank you very much.

WiFi adapter not found

I guess (not sure) this problem should happen to most students who use Lenovo laptops, not only Debian, but also Ubuntu. After installing the system, we will open the settings and find the error message “WiFi adapter not found” is displayed in the WiFi column. The main reason for this problem is: the wireless network adapter is blocked, and the WiFi switch on the computer needs to be turned on manually, while the WiFi switch is not turned on in my laptop, so it can be speculated that it is the Lenovo network driver problem. You can use the rfkill list all command to query whether your WLAN is blocked. Students who do not have this command can use it

sudo apt-get install rfkill

When the WLAN displays hard blocked: true, your wireless driver is blocked. The solution is to remove the module blocking infinite driver from the kernel and edit it directly in the / etc / modprobe. D directory blacklist.conf The contents of the document are as follows:

blacklist ideapad_laptop

The file name doesn’t have to be the same as mine, but ends with. Conf. You can understand the file in the modprobe. D directory as a blacklist file. When Linux starts, the module specified in the conf file will not be loaded. Here is the ideapad_ Laptop is the wireless module that we need to remove.

Sequela: when we remove ideapad_ After the laptop module is installed, sometimes the Bluetooth adapter can’t be found when booting. However, this problem has not been found in Ubuntu before. It seems that Debian is not as good as Ubuntu in terms of driver, but this is understandable and can be used normally most of the time-_ -。

XMIND installation

XMIND is written in Java and relies on openjdk8. Therefore, to use XMIND on Linux, the openjdk8 environment is required first. Secondly, I need to write a shell script to start it (not the only way, but it’s a very simple way). I didn’t expect it, and I didn’t expect it. This is what I went through a lot of pits to play.

First of all, we need to prepare a picture of XMIND software startup: XMind.png I’ve put this incatalogNow, please pick up what you need.

Second, we go to XMIND_ AMD64 directory, 32-bit system students into XMIND_ I386 directory, we create and edit start.sh The script contains:

cd /home/guang19/SDK/xmind/XMind_ AMD64 (this path is the path of your XMIND script)

The content of this script is very simple. When starting the script, enter the directory and start XMIND directly.

After the script is written, it needs to be able to be executed and used

chmod +x start.sh

Command to let start.sh Can be executed.

At this point you can try to execute/ start.sh Command to start XMIND. If the startup is successful, 99% of it has been completed. If the startup is not successful, you can check whether the previous steps are wrong.

If you only want to start XMIND with the shell in the future, then that’s enough. You don’t even need the pictures mentioned above. If you want to start more easily, you need to create a desktop file to start. In Debian / Ubuntu, all the desktop files you see are stored in the / usr / share / applications directory (some are in the. Local / share / applications directory). All the files in this directory end with. Desktop. We need to create it in this directory now xmind.desktop File (name may not be called XMIND).

The contents are as follows:

[Desktop Entry]
Exec=sh /home/guang19/SDK/xmind/XMind_amd64/start.sh

For the moment, we only need to understand the icon and exec attributes. Icon is the icon of the application you see on the desktop. Change the path of icon to you XMind.png That’s enough. Look at the exec attribute again. When we click the XMIND icon on the desktop, we will execute the corresponding command or script of exec. We will change exec to start.sh File path on the line, do not drop the SH command, because start.sh It is a script and needs to be started by the SH command.

After saving the desktop file, you can see the XMIND application on the desktop.

Location of fcitx candidate frames

A screenshot of my situation will make it clear:

Why did I switch from windows to Linux?

You can see that my cursor is positioned on line 207, but my input method candidate box stays in the lower left corner of idea. Why do I say stay in the lower left corner of idea? As far as my current use is concerned, this problem only exists under idea, not only in Debian, but also in Ubuntu. I personally think this should be the problem of idea. Most of the related articles found are about swing. It seems that this problem is really difficult. If you know the solution, please share it. Thank you very much.

If it helps, don’t be stingy with what you are looking at and praising! Get up!

Why did I switch from windows to Linux?

The above 4 books are of high qualityOriginal pdfWechat search“JavaGuide”Background reply“Interview surprise”You can get it free of charge.

Recommended Today

Comparison and analysis of Py = > redis and python operation redis syntax

preface R: For redis cli P: Redis for Python get ready pip install redis pool = redis.ConnectionPool(host=’′, port=6379, db=1) redis = redis.Redis(connection_pool=pool) Redis. All commands I have omitted all the following commands. If there are conflicts with Python built-in functions, I will add redis Global command Dbsize (number of returned keys) R: dbsize P: print(redis.dbsize()) […]