mirror of
https://github.com/LCTT/TranslateProject.git
synced 2024-12-26 21:30:55 +08:00
Merge remote-tracking branch 'LCTT/master'
This commit is contained in:
commit
edbe7b85ec
@ -1,89 +0,0 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (mengxinayan)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (How to influence people to join open source)
|
||||
[#]: via: (https://opensource.com/article/20/10/influence-open-source)
|
||||
[#]: author: (Joshua Pearce https://opensource.com/users/jmpearce)
|
||||
|
||||
How to influence people to join open source
|
||||
======
|
||||
Giving people what they want is the most effective way to introduce
|
||||
people to open source.
|
||||
![pipe in a building][1]
|
||||
|
||||
If you are reading Opensource.com, you might be able to code, and you are probably reading this on an open source browser on some elusive [Linux distro][2]. You probably have not seen a browser ad in years because you are running an [open source ad blocker][3]. You feel warm and fuzzy when you think about penguins.
|
||||
|
||||
Simply, you know the power of the force of open source and have made it part of your life. Sadly, not everyone has found the open source way yet. Their computers are painfully slow; they see more ads than content when they surf the web; they spend their money on patented and copyrighted junk. Some of these people may even be related to you—take your nieces and nephews, for example.
|
||||
|
||||
### Knowledge is wealth
|
||||
|
||||
So, how do you introduce your nieces and nephews (and everyone else) to open source?
|
||||
|
||||
I tried to answer this question and being a professor, a profession well known for being long-winded, I ended up with a book: [_Create, Share, and Save Money Using Open Source Projects_][4], published by McGraw-Hill
|
||||
|
||||
The trick, I think, is finding something that your niece or nephew wants but doesn't have the money to buy, then showing them how open source knowledge can get them what they want.
|
||||
|
||||
![Lift Standing Desk][5]
|
||||
|
||||
[Lift Standing Desk][6] (Joni Steiner and Nick Ierodiaconou, [CC-BY-SA-NC][7])
|
||||
|
||||
Knowledge has a unique property among commodities. Unlike gold or wheat, it not only retains value when it is shared, but it can rapidly increase in value. The internet enables unlimited scaling of this process, as the price of information-sharing approaches zero. Everyone with internet access has historically unprecedented access to this wealth. For example, I provide [free links to repositories][4] with books, education, movies, how-tos, maps, music, photographs, art, software, and recipes.
|
||||
|
||||
### Don't buy it, make it
|
||||
|
||||
Free and open source is expanding further into the physical world, and we all have the opportunity to radically reduce the cost of just about everything you can buy at Walmart or Amazon, including [toys][8], [electronics][9], [household goods][10], and clothing. The combination of open source sharing and digital manufacturing—using 3D printers and similar tools—enables individuals to make their own complex, valuable products.
|
||||
|
||||
![3D printed household items][11]
|
||||
|
||||
[3D-printed household items][12] (Joshua M. Pearce, [CC BY-SA 3.0][13])
|
||||
|
||||
For years, scientists have been doing this [in their labs][14]. But now, anyone can easily customize products to fit their exact needs. There are already millions of free designs available.
|
||||
|
||||
![Recyclebot][15]
|
||||
|
||||
[Recyclebot][16] (Joshua M. Pearce, [GPLv3][17])
|
||||
|
||||
The way to really knock the bottom out of a product's price is to [source the raw materials from trash][18]. This is possible for a dizzying array of products because of recent improvements in small-scale recycling processes (like [Recyclebots][19], which I use in my lab) that enable people to make valuable products from waste. Best of all, anyone can get these green, custom creations for a small fraction of the cost of a proprietary system. We can normally produce a custom product for [less than the sales tax][20] on a conventional product—with the same functionality, a better, customized form, and almost no cost.
|
||||
|
||||
### Learn more
|
||||
|
||||
In _[Create, Share, and Save Money Using Open Source Projects][4],_ I share the potential in at-home manufacturing and recycling and even how to score free big-ticket items, including housing and electricity, with open source. You can also learn more about this on a webinar I recorded with Megan Krieger and Janet Callahan for Michigan Tech's [Husky Bites][21].
|
||||
|
||||
Hopefully, this knowledge is motivating enough to pull in a niece or nephew or two over to the open source way!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/20/10/influence-open-source
|
||||
|
||||
作者:[Joshua Pearce][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[萌新阿岩](https://github.com/mengxinayan)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/jmpearce
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/open_pipe_red_hat_tower_building.png?itok=8ho3yi7L (pipe in a building)
|
||||
[2]: https://distrowatch.com/
|
||||
[3]: https://opensource.com/article/20/4/ad-blockers
|
||||
[4]: https://www.appropedia.org/Create,_Share,_and_Save_Money_Using_Open-Source_Projects
|
||||
[5]: https://opensource.com/sites/default/files/uploads/opendesk_furniture_lift-standing-desk.jpg (Lift Standing Desk)
|
||||
[6]: https://www.appropedia.org/File:Opendesk_furniture_lift-standing-desk.jpg
|
||||
[7]: https://creativecommons.org/licenses/by-nc-sa/2.0/
|
||||
[8]: http://www.mdpi.com/2227-7080/5/3/45
|
||||
[9]: https://doi.org/10.3390/inventions3030064
|
||||
[10]: https://www.mdpi.com/2227-7080/5/1/7
|
||||
[11]: https://opensource.com/sites/default/files/uploads/3dprinted_household.jpg (3D printed household items)
|
||||
[12]: https://www.appropedia.org/File:3dprinted_household.JPG
|
||||
[13]: https://creativecommons.org/licenses/by-sa/3.0/
|
||||
[14]: https://opensource.com/article/20/10/open-source-hardware-savings
|
||||
[15]: https://opensource.com/sites/default/files/uploads/recyclebotrep.png (Recyclebot)
|
||||
[16]: https://www.appropedia.org/File:Recyclebotrep.png
|
||||
[17]: https://www.gnu.org/licenses/gpl-3.0.html
|
||||
[18]: https://www.academia.edu/34738483/Tightening_the_Loop_on_the_Circular_Economy_Coupled_Distributed_Recycling_and_Manufacturing_with_Recyclebot_and_RepRap_3-D_Printing
|
||||
[19]: https://www.appropedia.org/Recyclebot
|
||||
[20]: https://opensource.com/article/17/3/how-to-create-consumer-goods-open-hardware
|
||||
[21]: https://www.facebook.com/Michigan-Tech-College-of-Engineering-109353424030003/videos/husky-bites-presents-special-guest-joshua-m-pearce/2669023713361207/
|
@ -0,0 +1,85 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (Create a DevOps culture with open source principles)
|
||||
[#]: via: (https://opensource.com/article/20/12/remote-devops)
|
||||
[#]: author: (Will Kelly https://opensource.com/users/willkelly)
|
||||
|
||||
Create a DevOps culture with open source principles
|
||||
======
|
||||
Now that more workforces are remote, DevOps teams can maximize their
|
||||
collaboration and productivity by following open source principles.
|
||||
![Kanban-style organization action][1]
|
||||
|
||||
As this article goes online, DevOps teams are rounding the bend of eight months of remote work. Some teams were remote by design. Other teams had remote work forced on them. Now is an excellent time to take a refresher on what it means to be a high performing DevOps team that just works remotely.
|
||||
|
||||
Remember that people come before tools for a remote DevOps team. Here’s how you keep your people operating and feeling refreshed during these times.
|
||||
|
||||
### Fully remote vs. hybrid DevOps teams
|
||||
|
||||
We can split remote work into fully remote and hybrid working models. A fully remote working model means a DevOps team is geographically dispersed. The members have no desk lying empty back at the office with their name on it. However, COVID-19 restrictions have made every team a fully remote team, at least for the time being. A fully remote team’s benefits include increased agility and playing time zones to the advantage of your delivery cycle. The challenges of a new remote DevOps team run the gamut right now, depending on the level of support their organization had for remote workers pre-COVID.
|
||||
|
||||
In contrast, a hybrid DevOps team still maintains a presence in a corporate office. Core team members may have permanent seats inside a corporate office. Other team members may work from home or a satellite office full-time or part-time. COVID-19 restrictions add a new factor to hybrid teams because some companies may stagger returns to offices. A hybrid DevOps team’s benefits include having the best of both worlds. Team leadership can still maintain a face in the office. Their developers get the option to work where they’re the most productive.
|
||||
|
||||
The challenges of a hybrid DevOps team can range from communications to system access issues. There’s also the stress for the team members who draw the short straw to go back into the office first.
|
||||
|
||||
### Collaboration refresher
|
||||
|
||||
Collaboration is a well-regarded DevOps principle. Yet COVID-19 has put an additional strain on team collaboration. The best remote teams are always learning about collaboration and then pivoting and adjusting to make that collaboration better.
|
||||
|
||||
First-time remote workers sometimes present new silos and dilemmas for remote work. There’s a lot of discipline that comes with being a successful remote worker. You may have to coach your first-timers, at least in the beginning, on how to handle work from home distractions and how to best budget their time.
|
||||
|
||||
Standardize your workflows when it comes to document creation and review, source code collaboration, and other related tasks. Teams bring the workflows of the places they’ve worked at before. Besides that, team members are under stress right now. Do them a favor and document procedures with an eye toward eliminating complexity and ambiguity.
|
||||
|
||||
### Communications refresher
|
||||
|
||||
There’ll always be something to be said for drive-by conversations in an office hallway. There’ll be first-time workers who’ll adjust fine to remote work. Others will get lost in the shuffle. It’s up to DevOps teams to set expectations for communications, especially project reporting. Teams also need to learn the working styles of their managers and members to communicate effectively,
|
||||
|
||||
The best way to refresh your remote team’s communications is to remind your team of communications expectations.
|
||||
|
||||
### Fostering remote DevOps culture using open source principles
|
||||
|
||||
One way to recharge your remote DevOps culture is by implementing open source principles:
|
||||
|
||||
#### Community
|
||||
|
||||
Remote DevOps teams benefit from a sense of community just as any open source project does. There’s a lot of stress going on right now inside people’s homes. DevOps teams, by their high velocity, can feel their members’ pain acutely. As such, community is of the utmost importance to a DevOps team right now. Having a common purpose with the rest of their team and their employer can be a powerful distraction for some personality types who need to keep busy during times like these. Shared values can foster team cohesion. Being part of team goals can help people escape the stress of the home front.
|
||||
|
||||
#### Collaboration
|
||||
|
||||
Collaboration is both a DevOps and an open source principle. Working as a remote DevOps team during the current crisis taxes even the most experienced teams. Now is as good of a time as any to tap into the open source ethos to regain your collaboration mojo. Collaboration—during a pandemic or not—is about culture, not the latest tool or platform.
|
||||
|
||||
#### Transparency
|
||||
|
||||
Remote work in times of stress can strain communications, and it’s easy to miss information and forget about materials necessary for project success. Remote DevOps teams benefit from centralizing access to project information and materials so the team can do their best work. A central repository of materials offers transparency. Best of all, it’s open 24/7 and doesn’t have time zone limitations. Making information always accessible makes it easier for remote DevOps team members to build upon each other’s ideas and discoveries.
|
||||
|
||||
Transparency for remote DevOps teams is a powerful way to make more effective decisions and understand how decisions affect us all. Inspiration strikes everybody at different times. For example, think of the team member who can’t sleep one night and thus able to make a technical discovery that solves a problem for their customer or their team.
|
||||
|
||||
#### Inclusive meritocracy
|
||||
|
||||
Remote DevOps teams in crisis times should run as an inclusive meritocracy if they didn’t already run that way pre-COVID. Hopefully, some bureaucratic shackles are loosening now that most teams have been remote for eight months or more. We work best during a crisis when we intake all the good ideas, regardless of who it comes from. Successful work is a big calling card for your team as your stakeholders and customers are dealing with stress on the work and home fronts too.
|
||||
|
||||
#### Release early and often
|
||||
|
||||
Being out of the office provides a unique opportunity for some corporate cultures to get away from meetings for the sake of meetings and talking about work more than doing the actual work. When a remote DevOps team releases early and often, they prove the remote work model's validity and give stakeholders something real to see, rather than wireframes, presentation slides, and spreadsheets.
|
||||
|
||||
### Pivot and refresh
|
||||
|
||||
Successful remote teams know the need to be agile with more than just software delivery. It’s about the pivot and the refresh about how your team collaborates and communicates. Just as you stop to correct software delivery issues, you need to start doing the same with communications and collaboration.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/20/12/remote-devops
|
||||
|
||||
作者:[Will Kelly][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/willkelly
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/kanban_trello_organize_teams_520.png?itok=ObNjCpxt (Kanban-style organization action)
|
@ -1,5 +1,5 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: translator: (MjSeven)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
|
127
sources/tech/20201211 Learn Julia by coding a game.md
Normal file
127
sources/tech/20201211 Learn Julia by coding a game.md
Normal file
@ -0,0 +1,127 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (Learn Julia by coding a game)
|
||||
[#]: via: (https://opensource.com/article/20/12/julia)
|
||||
[#]: author: (Moshe Zadka https://opensource.com/users/moshez)
|
||||
|
||||
Learn Julia by coding a game
|
||||
======
|
||||
Writing the same application in multiple languages is a great way to
|
||||
learn new ways to program.
|
||||
![woman on laptop sitting at the window][1]
|
||||
|
||||
Most programming languages have certain things in common, such as:
|
||||
|
||||
* Variables
|
||||
* Expressions
|
||||
* Statements
|
||||
|
||||
|
||||
|
||||
These concepts are the basis of most programming languages. Once you understand them, you can start figuring the rest out.
|
||||
|
||||
Programming languages usually share some similarities. Once you know one programming language, you can learn the basics of another by recognizing its differences.
|
||||
|
||||
A good tool for learning a new language is by practicing with a standard program. This allows you to focus on the language, not the program's logic. I'm doing that in this article series using a "guess the number" program, in which the computer picks a number between one and 100 and asks you to guess it. The program loops until you guess the number correctly.
|
||||
|
||||
This program exercises several concepts in programming languages:
|
||||
|
||||
* Variables
|
||||
* Input
|
||||
* Output
|
||||
* Conditional evaluation
|
||||
* Loops
|
||||
|
||||
|
||||
|
||||
It's a great practical experiment to learn a new programming language.
|
||||
|
||||
### Guess the number in Julia
|
||||
|
||||
According to [Julia][2]'s website, the language "is dynamically typed, feels like a scripting language, and has good support for interactive use." It "was designed from the beginning for high performance. Julia programs compile to efficient native code for multiple platforms via LLVM."
|
||||
|
||||
You can explore Julia by writing a version of the "guess the number" game.
|
||||
|
||||
Here is my implementation:
|
||||
|
||||
|
||||
```
|
||||
random = rand(1:100)
|
||||
|
||||
println("Guess a number between 1 and 100")
|
||||
|
||||
while true
|
||||
data = readline()
|
||||
if data == ""
|
||||
println("goodbye")
|
||||
break
|
||||
end
|
||||
guess = parse(Int64, data)
|
||||
if guess < random
|
||||
println("Too low")
|
||||
elseif guess > random
|
||||
println("Too high")
|
||||
else
|
||||
println("That's right!")
|
||||
break
|
||||
end
|
||||
```
|
||||
|
||||
To assign a value to a variable, list the variable's name followed by the `=` sign. For example, the statement `random = 0` assigns a zero value to the `random` variable.
|
||||
|
||||
The first line of the script reads the result of the function `rand()` and assigns it to the variable called `random`. The function takes a single argument: a range. In this case, the range is `1:100`, making the game just challenging enough.
|
||||
|
||||
You can also prompt the user to enter a value using the `readline()` function. If you write `data = readline()`, Julia waits for the user to enter some text, then stores that value in the guess variable.
|
||||
|
||||
The next step is to convert `data` to an integer type. In this case, use `Int64`, a 64-bit integer type. The result of the `parse` function is stored in a variable `guess`.
|
||||
|
||||
Julia supports conditional expressions and flow control like loops. In the "guess the number" game, Julia continues looping as long as the guess value is not equal to `random`.
|
||||
|
||||
If the guess is less than the random number, Julia prints `Too low`, and if the guess is greater than the number, Julia prints `Too high`.
|
||||
|
||||
### Sample output
|
||||
|
||||
Now that you've written your Julia program, run it to play the "guess the number" game. Every time you run the program, Julia will pick a different random number, so you need to guess until you find the correct number:
|
||||
|
||||
|
||||
```
|
||||
$ julia guess.jl
|
||||
Guess a number between 1 and 100
|
||||
50
|
||||
Too high
|
||||
30
|
||||
Too high
|
||||
20
|
||||
Too high
|
||||
10
|
||||
Too low
|
||||
15
|
||||
Too high
|
||||
13
|
||||
Too low
|
||||
14
|
||||
That's right!
|
||||
```
|
||||
|
||||
This "guess the number" game is a great introductory program for learning a new programming language because it exercises several common programming concepts in a pretty straightforward way. By implementing this simple game in different programming languages, you can demonstrate some core concepts of the languages and compare their details.
|
||||
|
||||
Do you have a favorite programming language? How would you write the "guess the number" game in it? Follow this article series to see examples of other programming languages that might interest you!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/20/12/julia
|
||||
|
||||
作者:[Moshe Zadka][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/moshez
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/lenovo-thinkpad-laptop-window-focus.png?itok=g0xPm2kD (young woman working on a laptop)
|
||||
[2]: https://julialang.org/
|
@ -0,0 +1,68 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (Try FeatherPad as your Linux terminal text editor)
|
||||
[#]: via: (https://opensource.com/article/20/12/featherpad)
|
||||
[#]: author: (Seth Kenlon https://opensource.com/users/seth)
|
||||
|
||||
Try FeatherPad as your Linux terminal text editor
|
||||
======
|
||||
This utilitarian editor offers the features you need without the
|
||||
clutter.
|
||||
![Puzzle pieces coming together to form a computer screen][1]
|
||||
|
||||
There’s always room in my Activities menu for a utilitarian text editor. Of course, the exact meaning of "utilitarian" is different for each user, but for me, it means a text editor with all the features I need and not much else. So far, [FeatherPad][2] has proven in many ways to fit these requirements.
|
||||
|
||||
### Install
|
||||
|
||||
FeatherPad is developed for and tested on Linux, so it makes no guarantee about its performance on other platforms. On Linux, you can install it from your distribution’s software repository or directly from source code found on its [Github repository][2].
|
||||
|
||||
There is some support for macOS and Haiku. Whatever your platforms, you can compile Featherpad from source code and try it out. If you know C++ and Qt development, you may even be able to help bolster cross-platform support.
|
||||
|
||||
### Using FeatherPad
|
||||
|
||||
When you launch FeatherPad for the first time, it has a pretty typical text entry field that lets you type into it just as you’d expect from a text editor and several toolbars both at the top and bottom of the window. There’s a tab bar to flip between open documents, a toolbar and a menubar at the top, and a status bar and a search bar at the bottom.
|
||||
|
||||
This is, to me, indicative of FeatherPad’s main strength—its developers have anticipated the things many people want most often when writing.
|
||||
|
||||
A search function, at least for some people, is a frequent activity, so having a search bar close at hand just makes sense. Turning the search bar into a find-and-replace panel is as easy as a click of a button in the toolbar. Syntax highlighting is auto-detected by the extension of the file you load. Line, character, and word counts are close at hand, too.
|
||||
|
||||
In other words, all of the basic and obvious features of FeatherPad are exactly what you see when you launch the application. This is not an editor with lots of obscure keyboard shortcuts or multiple levels of menus. This is "just" a text editor with a few key features that are easy and quick to access.
|
||||
|
||||
### Preferences
|
||||
|
||||
While its interface is straightforward, there are several features you can toggle on and off in Preferences under the Options menu. Most of these options are not interactive; they’re settings that happen as you use the application. Here are some of my favorite settings:
|
||||
|
||||
* Auto-indent: new lines retain indentation
|
||||
* Line numbers: display line numbers along the left column
|
||||
* Auto-bracket: when a left bracket is typed, automatically add a closing
|
||||
* bracket
|
||||
* Syntax highlighting: add color and style to indicate markup or code keywords
|
||||
* Show whitespace: add light gray markup to represent otherwise invisible characters
|
||||
|
||||
|
||||
|
||||
This is a small sampling of available settings, of course.
|
||||
|
||||
### Try FeatherPad
|
||||
|
||||
The FeatherPad editor is a straightforward application with just the right number of interactive features and lots of noninteractive options. You don’t have to take my word for it, though. You can read [Scott Nesbitt’s review of it][3], and then try it yourself.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/20/12/featherpad
|
||||
|
||||
作者:[Seth Kenlon][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/seth
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/puzzle_computer_solve_fix_tool.png?itok=U0pH1uwj (Puzzle pieces coming together to form a computer screen)
|
||||
[2]: https://github.com/tsujan/FeatherPad
|
||||
[3]: https://opensource.com/article/20/3/text-editors-linux
|
@ -0,0 +1,94 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (How to Customize the Task Switcher in KDE Plasma)
|
||||
[#]: via: (https://itsfoss.com/customize-task-switcher-kde/)
|
||||
[#]: author: (Ankush Das https://itsfoss.com/author/ankush/)
|
||||
|
||||
How to Customize the Task Switcher in KDE Plasma
|
||||
======
|
||||
|
||||
It is often the little interactions with a [desktop environment][1] that makes up for a good user experience and task switcher is something that most of the users fiddle with.
|
||||
|
||||
I’ve recently about [customizing the task switching experience on GNOME][2] but what about the most customizable desktop environment, KDE?
|
||||
|
||||
Fret not, it isn’t rocket science to tweak the task switcher in KDE. In this article, I’m going to show you how to change the task switcher experience on any KDE-powered Linux system.
|
||||
|
||||
### Customize Task Switcher in KDE: Here’s How It is Done
|
||||
|
||||
If you prefer video instructions I have also made a quick video for you:
|
||||
|
||||
Here are the text instructions:
|
||||
|
||||
![Kde Task Switcher Default Style][3]
|
||||
|
||||
To get started, you need to head to the System Settings in KDE as shown in the screenshot below.
|
||||
|
||||
![][4]
|
||||
|
||||
Next, you have to navigate your way to the “**Window Management**” option as shown in the image below.
|
||||
|
||||
![][5]
|
||||
|
||||
Once you click on the option, you will be greeted with more options. Here, you need to click on “**Task Switcher**” because that is what we are going to customize, you can explore other options if you are curious.
|
||||
|
||||
![][6]
|
||||
|
||||
As you can observe in the screenshot above, my settings may look different that yours:
|
||||
|
||||
* I have disabled the option to “**Show selected window**“
|
||||
* And, have set the visual style of the task switcher to “**Flip Switch**“
|
||||
|
||||
|
||||
|
||||
Here’s how it looks like with the Flip Switch style when you press **Alt+Tab**:
|
||||
|
||||
![][7]
|
||||
|
||||
In case you cannot find the option to set it, take a closer look at how you navigate the drop-down menu to change the visual style of Task Switcher while potentially disabling “**Show selected Window**” (that’s what I prefer).
|
||||
|
||||
![][8]
|
||||
|
||||
As you can see in the image above, you get to change the sort order of the windows along with a couple more visual styles for the task switcher.
|
||||
|
||||
In addition to this setting, you can also look for a variety of task switcher themes/designs online by click on “**Get New Task Switchers**” button in the bottom-right corner of the window.
|
||||
|
||||
![][9]
|
||||
|
||||
You will also find several other options to change the key bind for accessing the tasks switcher, if that is what you need.
|
||||
|
||||
#### Reset to default in a click
|
||||
|
||||
If you want to revert the settings and want it to go back to the defaults. You will find a “**Defaults**” / “**Reset**” button, you can click on it to reset any changes that you made.
|
||||
|
||||
![][10]
|
||||
|
||||
Of course, feel free to explore any other customization options that you come across in the System Settings to personalize your KDE experience.
|
||||
|
||||
I’d like to cover a detailed customization guide for KDE desktop in the near future, would you find that interesting? Let me know your thoughts in the comments below!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://itsfoss.com/customize-task-switcher-kde/
|
||||
|
||||
作者:[Ankush Das][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://itsfoss.com/author/ankush/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://itsfoss.com/what-is-desktop-environment/
|
||||
[2]: https://itsfoss.com/customize-gnome-task-switcher/
|
||||
[3]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2020/11/kde-task-switcher-default.jpg?resize=800%2C396&ssl=1
|
||||
[4]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/11/kde-system-settings.jpg?resize=761%2C600&ssl=1
|
||||
[5]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2020/11/window-management-kde.jpg?resize=800%2C568&ssl=1
|
||||
[6]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/11/kde-settings-task-switcher.jpg?resize=800%2C569&ssl=1
|
||||
[7]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2020/11/kde-flip-switch.jpg?resize=800%2C484&ssl=1
|
||||
[8]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2020/11/kde-task-switcher-flip.jpg?resize=800%2C568&ssl=1
|
||||
[9]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/11/kde-task-switcher-online.png?resize=800%2C572&ssl=1
|
||||
[10]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2020/12/kde-default-reset-task-switcher.jpg?resize=800%2C568&ssl=1
|
@ -0,0 +1,128 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (How to Install Mesa Drivers on Ubuntu [Latest and Stable])
|
||||
[#]: via: (https://itsfoss.com/install-mesa-ubuntu/)
|
||||
[#]: author: (Abhishek Prakash https://itsfoss.com/author/abhishek/)
|
||||
|
||||
How to Install Mesa Drivers on Ubuntu [Latest and Stable]
|
||||
======
|
||||
|
||||
_**This quick tutorial shows the steps to get a newer version of Mesa drivers on Ubuntu, be it stable release or cutting-edge development release.**_
|
||||
|
||||
### What is Mesa?
|
||||
|
||||
[Mesa][1] itself is not a graphics card like Nvidia or AMD. Instead, it provides open source software implementation of [OpenGL][2], [Vulkan][3], and some other graphics API specifications for Intel and AMD graphics hardware. With Mesa, you can play high-end games and use applications that require such graphics libraries.
|
||||
|
||||
More information on Mesa can be found in [this article][4].
|
||||
|
||||
### How to install Mesa on Ubuntu?
|
||||
|
||||
![][5]
|
||||
|
||||
Mesa comes preinstalled on Ubuntu with the open source graphics drivers of Radeon, Intel and Nvidia (sometimes). Though it probably won’t be the latest Mesa version.
|
||||
|
||||
You can check if your system uses Mesa and the installed versions using this command:
|
||||
|
||||
```
|
||||
glxinfo | grep Mesa
|
||||
```
|
||||
|
||||
If for some reasons (like playing games), you want to install a newer version of Mesa, this tutorial will help you with that. Since, you’ll be using PPA, I highly recommend reading my [in-depth guide on PPA][6].
|
||||
|
||||
Attention!
|
||||
|
||||
Installing new Mesa graphics drivers may also need a newer Linux kernel. It will be a good idea to [enable HWE kernel on Ubuntu][7] to reduce the chances of conflict with the kernel. HWE Kernel gives you the latest stable kernel used by Ubuntu on an older LTS release.
|
||||
|
||||
### Install the latest stable version of Mesa driver in Ubuntu [Latest point release]
|
||||
|
||||
The [Kisak-mesa PPA][8] provides the latest point release of Mesa. You can use it by entering the following commands one by one in the terminal:
|
||||
|
||||
```
|
||||
sudo add-apt-repository ppa:kisak/kisak-mesa
|
||||
sudo apt update
|
||||
sudo apt install mesa
|
||||
```
|
||||
|
||||
It will give you the latest Mesa point release.
|
||||
|
||||
#### Remove it and go back to original Mesa driver
|
||||
|
||||
If you are facing issues and do not want to use the newer version of Mesa, you can revert to the original version.
|
||||
|
||||
Install PPA Purge tool first:
|
||||
|
||||
```
|
||||
sudo apt install ppa-purge
|
||||
```
|
||||
|
||||
And then use it to remove the PPA as well as the Mesa package version installed by this PPA.
|
||||
|
||||
```
|
||||
sudo ppa-purge ppa:kisak/kisak-mesa
|
||||
```
|
||||
|
||||
### Install the latest Mesa graphics drivers in Ubuntu [Bleeding edge]
|
||||
|
||||
If you want the latest Mesa drivers as they are being developed, this is what you need.
|
||||
|
||||
There is this awesome PPA that provides open source graphics drivers packages for Radeon, Intel and Nvidia hardware.
|
||||
|
||||
The best thing here is that all driver packages are automatically built twice a day, when there is an upstream change.
|
||||
|
||||
If you want the absolute latest Mesa drivers on Ubuntu and do not want to take the trouble of installing it from the source code, use this [PPA by Oibaf][9].
|
||||
|
||||
The PPA is available for 20.04, 20.10 and 21.04 at the time of writing this article. It is no longer updated for Ubuntu 18.04 LTS.
|
||||
|
||||
Open the terminal and use the following commands one by one:
|
||||
|
||||
```
|
||||
sudo add-apt-repository ppa:oibaf/graphics-drivers
|
||||
sudo apt update
|
||||
sudo apt install mesa
|
||||
```
|
||||
|
||||
This will give you the latest Mesa drivers.
|
||||
|
||||
#### Remove it and go back to original Mesa driver
|
||||
|
||||
You can remove the PPA and the installed latest Mesa driver using the ppa-purge tool.
|
||||
|
||||
Install it first:
|
||||
|
||||
```
|
||||
sudo apt-get install ppa-purge
|
||||
```
|
||||
|
||||
Now use it to disable the PPA you had added and revert the Mesa package to the version provided by Ubuntu officially.
|
||||
|
||||
```
|
||||
sudo ppa-purge ppa:oibaf/graphics-drivers
|
||||
```
|
||||
|
||||
I hope this quick tutorial was helpful in getting a newer version of Mesa on Ubuntu. If you have questions or suggestions, please use the comment section.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://itsfoss.com/install-mesa-ubuntu/
|
||||
|
||||
作者:[Abhishek Prakash][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://itsfoss.com/author/abhishek/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://mesa3d.org
|
||||
[2]: https://www.opengl.org
|
||||
[3]: https://www.khronos.org/vulkan/
|
||||
[4]: https://www.gamingonlinux.com/articles/an-explanation-of-what-mesa-is-and-what-graphics-cards-use-it.9244
|
||||
[5]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/12/mesa-ubuntu.png?resize=800%2C450&ssl=1
|
||||
[6]: https://itsfoss.com/ppa-guide/
|
||||
[7]: https://itsfoss.com/ubuntu-hwe-kernel/
|
||||
[8]: https://launchpad.net/~kisak/+archive/ubuntu/kisak-mesa
|
||||
[9]: https://launchpad.net/~oibaf/+archive/ubuntu/graphics-drivers
|
@ -0,0 +1,146 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (How to List and Remove a GPG Key in Ubuntu)
|
||||
[#]: via: (https://www.2daygeek.com/how-to-list-and-remove-repository-gpg-key-in-ubuntu/)
|
||||
[#]: author: (Magesh Maruthamuthu https://www.2daygeek.com/author/magesh/)
|
||||
|
||||
How to List and Remove a GPG Key in Ubuntu
|
||||
======
|
||||
|
||||
Some time ago we wrote an article about **[removing the PPA repository from the Ubuntu system][1]**.
|
||||
|
||||
The PPA repository keys will not be removed as part of removing the PPA repository, and they will remain on the system.
|
||||
|
||||
Today we are going to show you how to list and remove the added GPG keys from Ubuntu system.
|
||||
|
||||
### What’s GPG key?
|
||||
|
||||
The GPG key (it means Gnu Privacy Guard, aka GnuPG) is a free software which provides cryptographic privacy and authentication.
|
||||
|
||||
It allow users to communicate securely using public-key cryptography.
|
||||
|
||||
### How Does the GPG Key Work on Repository?
|
||||
|
||||
All packages are signed with a pair of keys consisting of a private key and a public key, by the package maintainer.
|
||||
|
||||
A user’s private key is kept secret and the public key may be given to anyone the user wants to communicate.
|
||||
|
||||
Whenever you add a new repository to your system, you must also add a repository key so that the APT Package Manager trusts the newly added repository.
|
||||
|
||||
Once you’ve added the repository keys, you can make sure you get the packages from the correct source.
|
||||
|
||||
### How to List Repository keys?
|
||||
|
||||
apt-key is used to manage the list of keys used by apt to authenticate packages. Trusted keys are stored in the following locations.
|
||||
|
||||
* **/etc/apt/trusted.gpg** – Keyring of local trusted keys, new keys will be added here.
|
||||
* **/etc/apt/trusted.gpg.d/** – File fragments for the trusted keys, additional keyrings can be stored here (by other packages or the administrator).
|
||||
|
||||
|
||||
|
||||
Use the following command to list trusted keys with fingerprints.
|
||||
|
||||
```
|
||||
$ sudo apt-key list
|
||||
|
||||
/etc/apt/trusted.gpg
|
||||
--------------------
|
||||
pub rsa4096 2017-12-15 [SCEA]
|
||||
0A0F AB86 0D48 5603 32EF B581 B754 42BB DE9E 3B09
|
||||
uid [ unknown] https://packagecloud.io/AtomEditor/atom (https://packagecloud.io/docs#gpg_signing) [email protected]
|
||||
sub rsa4096 2017-12-15 [SEA]
|
||||
|
||||
pub rsa4096 2016-04-22 [SC]
|
||||
B9F8 D658 297A F3EF C18D 5CDF A2F6 83C5 2980 AECF
|
||||
uid [ unknown] Oracle Corporation (VirtualBox archive signing key) [email protected]
|
||||
sub rsa4096 2016-04-22 [E]
|
||||
|
||||
pub dsa1024 2007-03-08 [SC]
|
||||
4CCA 1EAF 950C EE4A B839 76DC A040 830F 7FAC 5991
|
||||
uid [ unknown] Google, Inc. Linux Package Signing Key [email protected]
|
||||
sub elg2048 2007-03-08 [E]
|
||||
|
||||
pub rsa4096 2016-04-12 [SC]
|
||||
EB4C 1BFD 4F04 2F6D DDCC EC91 7721 F63B D38B 4796
|
||||
uid [ unknown] Google Inc. (Linux Packages Signing Authority) [email protected]
|
||||
sub rsa4096 2019-07-22 [S] [expires: 2022-07-21]
|
||||
|
||||
/etc/apt/trusted.gpg.d/numix_ubuntu_ppa.gpg
|
||||
-------------------------------------------
|
||||
pub rsa1024 2013-08-13 [SC]
|
||||
43E0 7612 1739 DEE5 FB96 BBED 52B7 0972 0F16 4EEB
|
||||
uid [ unknown] Launchpad PPA for Numix Maintainers
|
||||
|
||||
/etc/apt/trusted.gpg.d/snwh_ubuntu_ppa.gpg
|
||||
------------------------------------------
|
||||
pub rsa1024 2012-06-27 [SC]
|
||||
D320 D0C3 0B02 E64C 5B2B B274 3766 2239 8999 3A70
|
||||
uid [ unknown] Launchpad PPA for Sam Hewitt
|
||||
|
||||
/etc/apt/trusted.gpg.d/ubuntu-keyring-2012-archive.gpg
|
||||
------------------------------------------------------
|
||||
pub rsa4096 2012-05-11 [SC]
|
||||
790B C727 7767 219C 42C8 6F93 3B4F E6AC C0B2 1F32
|
||||
uid [ unknown] Ubuntu Archive Automatic Signing Key (2012) [email protected]
|
||||
|
||||
/etc/apt/trusted.gpg.d/ubuntu-keyring-2012-cdimage.gpg
|
||||
------------------------------------------------------
|
||||
pub rsa4096 2012-05-11 [SC]
|
||||
8439 38DF 228D 22F7 B374 2BC0 D94A A3F0 EFE2 1092
|
||||
uid [ unknown] Ubuntu CD Image Automatic Signing Key (2012) [email protected]
|
||||
|
||||
/etc/apt/trusted.gpg.d/ubuntu-keyring-2018-archive.gpg
|
||||
------------------------------------------------------
|
||||
pub rsa4096 2018-09-17 [SC]
|
||||
F6EC B376 2474 EDA9 D21B 7022 8719 20D1 991B C93C
|
||||
uid [ unknown] Ubuntu Archive Automatic Signing Key (2018) [email protected]
|
||||
```
|
||||
|
||||
### How to Delete/Remove Repository keys?
|
||||
|
||||
You can remove the repository key if it is no longer needed or if the repository has already been removed from the system.
|
||||
|
||||
It can be deleted by entering the full key with quotes as follows (which has a hex value of 40 characters).
|
||||
|
||||
```
|
||||
$ sudo apt-key del "D320 D0C3 0B02 E64C 5B2B B274 3766 2239 8999 3A70"
|
||||
OK
|
||||
```
|
||||
|
||||
Alternatively, you can delete a key by entering only the last 8 characters.
|
||||
|
||||
```
|
||||
$ sudo apt-key del 89993A70
|
||||
OK
|
||||
```
|
||||
|
||||
Once you have removed the repository key, run the command **[apt command][2]** to refresh the repository index.
|
||||
|
||||
```
|
||||
$ sudo apt update
|
||||
```
|
||||
|
||||
You can verify that the above GPG key has been removed by running the following command.
|
||||
|
||||
```
|
||||
$ sudo apt-key list
|
||||
```
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.2daygeek.com/how-to-list-and-remove-repository-gpg-key-in-ubuntu/
|
||||
|
||||
作者:[Magesh Maruthamuthu][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.2daygeek.com/author/magesh/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://www.2daygeek.com/how-to-remove-delete-ppas-on-ubuntu-linux-mint/
|
||||
[2]: https://www.2daygeek.com/apt-command-examples-manage-packages-debian-ubuntu-systems/
|
@ -0,0 +1,201 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (Power up your Linux terminal text editor with ed)
|
||||
[#]: via: (https://opensource.com/article/20/12/gnu-ed)
|
||||
[#]: author: (Seth Kenlon https://opensource.com/users/seth)
|
||||
|
||||
Power up your Linux terminal text editor with ed
|
||||
======
|
||||
This deceptively simple editor empowers the user with a set of control
|
||||
commands that are easy to learn and use.
|
||||
![Terminal command prompt on orange background][1]
|
||||
|
||||
The GNU `ed` command is a line editor. It’s considered the standard Unix text editor because it was the very first text editor for Unix, and so it was (and generally still is) available on any POSIX system. In some ways, it’s easy to tell that it was the first because, in many ways, it’s extremely rudimentary. Unlike most other text editors, it doesn’t open in a window or screen of its own, and in fact, by default, it doesn’t even prompt the user for input. On the other hand, its near lack of any interface can also be a strength. It’s a functional editor that can be controlled with short instructions either interactively or through a script.
|
||||
|
||||
### Installing ed
|
||||
|
||||
If you’re running Linux or BSD, you probably already have `ed` installed (GNU `ed` on Linux and BSD `ed` on BSD). Some minimal environments, however, omit `ed`, but it’s probably available from your distribution’s software repository or ports tree. MacOS ships with BSD `ed` installed.
|
||||
|
||||
### Launching ed
|
||||
|
||||
When you launch `ed`, it appears that you’ve lost your prompt, and possibly that `ed` has stalled. It has not; it’s just waiting for your instructions:
|
||||
|
||||
|
||||
```
|
||||
$ ed
|
||||
```
|
||||
|
||||
To tell `ed` to be a little more verbose, you can command it to return a prompt with the `p` command:
|
||||
|
||||
|
||||
```
|
||||
$ ed
|
||||
p
|
||||
?
|
||||
```
|
||||
|
||||
The question mark (`?`) is the default `ed` prompt.
|
||||
|
||||
### The buffer
|
||||
|
||||
While `ed` is active, you work with what’s called a _buffer_. The buffer is a place in memory. You’re not editing a file directly; you’re only editing the buffer. Should you exit `ed` without writing your changes to a file on disk, then all changes are lost because they only happened in the buffer. (This may sound familiar to experienced Emacs users accustomed to an initial scratch buffer.)
|
||||
|
||||
### Writing text with ed
|
||||
|
||||
After launching `ed`, you’re in command mode. This means you can issue commands to the editor itself, such as when setting it to display a prompt instead of empty space. You can append text to the current buffer with the `a` command, which is terminated by a solitary dot (`.`) on its own line. For instance, this example adds two lines ("hello world" and "hello ed") to the buffer:
|
||||
|
||||
|
||||
```
|
||||
?
|
||||
a
|
||||
hello world
|
||||
hello ed
|
||||
.
|
||||
```
|
||||
|
||||
After a terminating dot, you return to command mode.
|
||||
|
||||
### Viewing the buffer
|
||||
|
||||
To see what’s contained in the buffer, you can type either the line you want to see or `,p` to display all lines.
|
||||
|
||||
|
||||
```
|
||||
?
|
||||
1
|
||||
hello world
|
||||
2
|
||||
hello ed
|
||||
,p
|
||||
hello world
|
||||
hello ed
|
||||
```
|
||||
|
||||
### Writing to a file
|
||||
|
||||
Assuming you’re happy with your text, you can write the buffer to a file with the `w` command followed by the name of the destination file.
|
||||
|
||||
|
||||
```
|
||||
?
|
||||
w example.txt
|
||||
19
|
||||
```
|
||||
|
||||
The number after the write operation indicates the number of characters written to the file.
|
||||
|
||||
### Reading a file
|
||||
|
||||
You don’t have to use `ed` for text entry. You can also just open an existing file into the buffer using the `r` command:
|
||||
|
||||
|
||||
```
|
||||
?
|
||||
r myfile.txt
|
||||
```
|
||||
|
||||
Alternatively, you can just launch `ed` followed by the file name you want it to load into the buffer:
|
||||
|
||||
|
||||
```
|
||||
$ ed myfile.txt
|
||||
```
|
||||
|
||||
### Editing the buffer
|
||||
|
||||
The `ed` application is a text editor, so you can affect text in the buffer using a special editing syntax. Users of `sed` or `vim` may find some of its syntax familiar. Assume you have a file loaded in the buffer:
|
||||
|
||||
|
||||
```
|
||||
$ ed myfile.txt
|
||||
,p
|
||||
This is an example document.
|
||||
There is some text, but not much.
|
||||
There is some errors, but not much.
|
||||
```
|
||||
|
||||
To change the word "document" to "file" in the first sentence, select the line you want to target (1) and then invoke the search function with `s` followed by your search and replacement terms:
|
||||
|
||||
|
||||
```
|
||||
?
|
||||
1
|
||||
This is an example document.
|
||||
s/document/file/
|
||||
1
|
||||
This is an example file.
|
||||
```
|
||||
|
||||
To target a different line, the process is essentially the same but with a different number:
|
||||
|
||||
|
||||
```
|
||||
?
|
||||
3
|
||||
There is some errors, but not much.
|
||||
s/is/are/
|
||||
s/much/many/
|
||||
```
|
||||
|
||||
You can see the edits you’ve made to the buffer using the `,p` command as usual.
|
||||
|
||||
|
||||
```
|
||||
This is an example file.
|
||||
There is some text, but not much.
|
||||
There are some errors, but not many.
|
||||
```
|
||||
|
||||
Of course, these changes only exist in the buffer. Were you to look at the file outside of `ed`, you would see the original text only:
|
||||
|
||||
|
||||
```
|
||||
$ cat myfile.txt
|
||||
This is an example document.
|
||||
There is some text, but not much.
|
||||
There is some errors, but not much.
|
||||
```
|
||||
|
||||
To save your changes back into the file, use the `w` command:
|
||||
|
||||
|
||||
```
|
||||
w myfile.txt
|
||||
258
|
||||
```
|
||||
|
||||
### Clearing the buffer
|
||||
|
||||
To get a new buffer so you can either start a new document or load a new one into a fresh environment, use the `c` command. After issuing `c` to clear the buffer, a print command returns nothing because the buffer has been emptied:
|
||||
|
||||
|
||||
```
|
||||
c
|
||||
,p
|
||||
```
|
||||
|
||||
### Quit
|
||||
|
||||
To exit your `ed` session, use the `q` command. This doesn’t give you a chance to save your buffer, so make sure you save before you use this command.
|
||||
|
||||
### Try ed
|
||||
|
||||
There’s a lot more `ed` can do, and learning `ed` can afford you great insight into how `sed` and parts of `vim` work. I didn’t bother trying to write this article in `ed`, admittedly, and I’m not sure it’s the best tool for text entry in general. However, `ed` is an excellent editor of text, and you can learn it easily by reading its documentation. On a GNU system, use `info ed` to view the manual.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/20/12/gnu-ed
|
||||
|
||||
作者:[Seth Kenlon][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/seth
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/terminal_command_linux_desktop_code.jpg?itok=p5sQ6ODE (Terminal command prompt on orange background)
|
@ -0,0 +1,150 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (Garuda Linux Provides a Hassle-free Arch Experience With a Beautiful Neon Look [Review with Video])
|
||||
[#]: via: (https://itsfoss.com/garuda-linux-review/)
|
||||
[#]: author: (Dimitrios Savvopoulos https://itsfoss.com/author/dimitrios/)
|
||||
|
||||
Garuda Linux Provides a Hassle-free Arch Experience With a Beautiful Neon Look [Review with Video]
|
||||
======
|
||||
|
||||
_**Many Arch-based Linux distributions have mushroomed lately. I am pretty much satisfied with Manjaro and Arch Linux, so I couldn’t care less until I came across Garuda Linux. This [beautiful Linux distribution][1] shows some promises.**_
|
||||
|
||||
[Garuda Linux][2] is fairly new to the Linux world and is aiming to provide the greatest performance, offering all the modern and attractive features. Even though you can choose various desktop environments, it is clear that their flagship desktop is a heavily customized [KDE Plasma][3] with a dark, neon look. Cyberpunk, anyone?
|
||||
|
||||
Its Ultimate edition is optimized for gaming, and the recently introduced Dragonized (Dr460nized) version is aesthetically “lavish”.
|
||||
|
||||
[Arch Linux installation][4] can be a milestone for many Linux users, let alone to optimize your system at the level that Garuda Linux offers behind the convenience of [Calamares installer][5].
|
||||
|
||||
As I like a more traditional desktop, I started to test the MATE version of Garuda Linux, but I ended up taking the screenshots to the beautiful Dragonized edition.
|
||||
|
||||
### Garuda Linux Review: Beauty and the Arch
|
||||
|
||||
We made a video showing Garuda Linux in action. The video is not a review but it highlights the main features of Garuda Linux KDE edition.
|
||||
|
||||
[Subscribe to our YouTube channel for more Linux videos][6]
|
||||
|
||||
Now, let me my experience with Garuda Linux. There are [so many desktop environment options][7] available with Garuda Linux:
|
||||
|
||||
* KDE Plasma
|
||||
* Xfce
|
||||
* GNOME
|
||||
* Cinnamon
|
||||
* LXQt
|
||||
* MATE
|
||||
* Deepin
|
||||
* UKUI
|
||||
* [Wayfire][8]
|
||||
* BSPWM
|
||||
* i3WM
|
||||
|
||||
|
||||
|
||||
I settled with MATE and KDE Plasma for my testing. I am including KDE screenshots because that’s the one which looks the most beautiful of them all, in my opinion.
|
||||
|
||||
#### Easy installation with Calamares installer
|
||||
|
||||
Though I encourage everyone to install Arch Linux the “traditional” way as part of their learning process, I can understand that this task is time-consuming and intimidating to some users. Like the most popular Arch-based distribution [Manjaro][9], Garuda Linux is up and running within a few clicks, thanks to Calamares installer.
|
||||
|
||||
![Garuda Installer][10]
|
||||
|
||||
#### B-tree file system (BTRFS)
|
||||
|
||||
“Better F S” as I prefer to pronounce it, might not be used by default to the majority of Linux distributions. It is more than a decade old and considered stable although. It was introduced to address a number of lacking features of the Linux file system like [snapshots][11] and [checksums][12].
|
||||
|
||||
Garuda Linux comes with BTRFS as the default filesystem.
|
||||
|
||||
#### Automatic snapshots accessible from GRUB
|
||||
|
||||
Garuda Linux is a bleeding edge rolling release and less tested software might break your system after an upgrade. [Timeshift][13] backs up the system automatically before each update, and you can access the latest 5 snapshots of your system directly from the GRUB. Now that’s something cool, right?
|
||||
|
||||
![Garuda Snapshots][14]
|
||||
|
||||
#### Pamac package manager
|
||||
|
||||
Inherited from Manjaro, graphical package manager Pamac is a great alternative to command line [package manager pacman][15]. Support for the [AUR is enabled][16] by default, and you have also the option to [enable Snap][17] and [Flatpak][18] support.
|
||||
|
||||
![Garuda Pamac][19]
|
||||
|
||||
#### Garuda Assistant to easily access admin settings
|
||||
|
||||
Garuda Assistant is a graphical interface that makes the operating system’s administrative tasks, a simple point and click process. In the example below, you can see how easy is to enable the systemd services.
|
||||
|
||||
![Garuda Assistant][20]
|
||||
|
||||
You can also use it to update your system, clear logs, remove database lock, refresh mirrorlists and edit repositories. It’s handy tool for those who don’t want to go into terminal.
|
||||
|
||||
#### Garuda settings manager
|
||||
|
||||
Manjaro Linux users will have a deja vu once they open Garuda Settings Manager, as it is identical to [Manjaro Settings Manager][21]. Though Arch wiki offers a solution to every problem, the convenience of [selecting a different kernel][22] or the proprietary [Nvidia driver][23] through Garuda settings manager is second to none.
|
||||
|
||||
![Garuda Settings Manager][24]
|
||||
|
||||
#### Garuda Gamer – GUI for curated gaming packages
|
||||
|
||||
Arch Linux is a distribution that made me to stop distrohopping but when it comes to [gaming on Linux][25], my suggestion to a new Linux user is [Pop OS][26]. The package selection of the Garuda Gamer GUI can make the Linux gamers to chuckle when they open it.
|
||||
|
||||
![Garuda Gamer][27]
|
||||
|
||||
![][28]
|
||||
|
||||
**Trivia**
|
||||
|
||||
In Hindu mythology, Garuda is the king of birds and vehicle mount of [Vishnu][29], one of the principal Hindu Gods. Garuda is a cultural symbol in India, Myanmar, Thailand, Cambodia and Indonesia.
|
||||
|
||||
Now, you can understand why Garuda Linux uses a Hawk/Eagle-kind of bird for its logo and mascot.
|
||||
|
||||
#### Conclusion
|
||||
|
||||
Garuda Linux is one of the Linux distributions that represents a real passion from the developers side, and this can be observed from the amazing selection of tools, features and configurations.
|
||||
|
||||
The focus on providing GUI applications for most common tasks makes Garuda Linux an ideal choice for users who want to try Arch Linux but not comfortable using terminal all the time.
|
||||
|
||||
With only one extra repository on top of Arch Linux repos, it is very close to pure Arch. I have to admit that I was amazed by Garuda Linux, and definitely extend my testing period to unravel every hidden spot.
|
||||
|
||||
Have you experienced Garuda Linux? How’s your experience with it? If not, after reading this Garuda Linux review, will you be willing to give it a try?
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://itsfoss.com/garuda-linux-review/
|
||||
|
||||
作者:[Dimitrios Savvopoulos][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://itsfoss.com/author/dimitrios/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://itsfoss.com/beautiful-linux-distributions/
|
||||
[2]: https://garudalinux.org/
|
||||
[3]: https://kde.org/plasma-desktop/
|
||||
[4]: https://itsfoss.com/install-arch-linux/
|
||||
[5]: https://calamares.io/
|
||||
[6]: https://www.youtube.com/c/itsfoss?sub_confirmation=1
|
||||
[7]: https://itsfoss.com/best-linux-desktop-environments/
|
||||
[8]: https://wayfire.org/
|
||||
[9]: https://itsfoss.com/install-manjaro-linux/
|
||||
[10]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2020/12/garuda-installer.png?resize=800%2C508&ssl=1
|
||||
[11]: https://en.wikipedia.org/wiki/Snapshot_(computer_storage)
|
||||
[12]: https://itsfoss.com/checksum-tools-guide-linux/
|
||||
[13]: https://itsfoss.com/backup-restore-linux-timeshift/
|
||||
[14]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2020/12/garuda-snapshots.png?resize=800%2C600&ssl=1
|
||||
[15]: https://itsfoss.com/pacman-command/
|
||||
[16]: https://itsfoss.com/aur-arch-linux/
|
||||
[17]: https://itsfoss.com/install-snap-linux/
|
||||
[18]: https://itsfoss.com/what-is-flatpak/
|
||||
[19]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/12/Garuda-pamac.png?resize=800%2C560&ssl=1
|
||||
[20]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2020/12/Garuda-Assistant.png?resize=800%2C516&ssl=1
|
||||
[21]: https://wiki.manjaro.org/index.php/Manjaro_Settings_Manager
|
||||
[22]: https://itsfoss.com/switch-kernels-arch-linux/
|
||||
[23]: https://wiki.archlinux.org/index.php/NVIDIA#Installation
|
||||
[24]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2020/12/garuda-settings-manager.png?resize=800%2C550&ssl=1
|
||||
[25]: https://itsfoss.com/linux-gaming-guide/
|
||||
[26]: https://itsfoss.com/pop-os-20-04-review/
|
||||
[27]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/12/Garuda-gamer.png?resize=800%2C589&ssl=1
|
||||
[28]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2020/12/Garuda.jpg?resize=250%2C356&ssl=1
|
||||
[29]: https://en.wikipedia.org/wiki/Vishnu
|
@ -0,0 +1,88 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (mengxinayan)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (How to influence people to join open source)
|
||||
[#]: via: (https://opensource.com/article/20/10/influence-open-source)
|
||||
[#]: author: (Joshua Pearce https://opensource.com/users/jmpearce)
|
||||
|
||||
如何感召人们让其参与到开源活动中
|
||||
======
|
||||
向他人介绍开源最有效的办法是介绍开源可以提供他们想要的。
|
||||
![建筑物中的管道][1]
|
||||
|
||||
如果你在浏览 opensource.com,也许你会编程,同时或许你正使用某些小众的[Linux 发行版][2]的开源浏览器上阅读这些内容。你也许很多年没有看到过浏览器广告了,因为你正运行着一个[开源的广告拦截器][3]。当你想到企鹅时,你感到温暖而又陌生。
|
||||
|
||||
简单地说,你知道开源的力量并且它已经成了你生活的一部分。不幸的是,并不是每个人都发现如何利用开源。他们的电脑相当地慢,当他们上网浏览时他们看到的广告比内容都多,他们把他们的钱花在拥有专利和版权的垃圾上。这些人中可能有些是与你有关系的,例如你的侄女和侄子。
|
||||
|
||||
### 知识就是财富
|
||||
|
||||
那么你如何向你的侄女和侄子(以及任意一个人)介绍开源?
|
||||
|
||||
我尝试回答这个问题并且成了一个长期从事此事业而闻名的教授,直到我发现了由 McGraw-Hill 出版的[《使用开源项目创造、分享和省钱》][4]这一本书。
|
||||
|
||||
我认为诀窍在于先发现你的侄女或侄子想要获取但没有钱去购买的东西,然后向他们展示如何通过开源知识来得到他们想要的东西。
|
||||
|
||||
![可升降的桌子][5]
|
||||
|
||||
[可升降的桌子][6] (Joni Steiner and Nick Ierodiaconou, [CC-BY-SA-NC][7])
|
||||
|
||||
知识是所有商品里独特的财富。不像黄金或小麦,它不仅在共享时会保留价值,而且它会迅速增加价值。因为互联网信息分享成本趋近于0,因此无限地扩展了此过程。每个可以访问互联网的人都从未拥有过这一财富。例如,我提供[免费的仓库链接][4]关于书籍、教育、电影、如何去做、地图、音乐、照片、艺术品、软件和烹饪等内容。
|
||||
|
||||
### 不要买,而是去制作它
|
||||
|
||||
免费和开源逐渐扩展到现实世界,我们现在有机会通过沃尔玛或亚马逊来购买[玩具][8]、[电器][9]、[家居用品][10]和衣服来极大地减少开销。使用3D打印或类似的工具,组合了开源分享和数字制造,使得每个人可以制造属于他们自己的、复杂的、有用的工具。
|
||||
|
||||
![3D 打印的家居用品][11]
|
||||
|
||||
[3D 打印的家居用品][12] (Joshua M. Pearce, [CC BY-SA 3.0][13])
|
||||
|
||||
近些年来,科学家[在他们的实验室][14]中已经在做这些工作。但是现在,任何人都可以轻松地自定义满足他们具体需求的产品。已经有数百万的免费设计可供使用。
|
||||
|
||||
![Recyclebot][15]
|
||||
|
||||
[Recyclebot][16] (Joshua M. Pearce, [GPLv3][17])
|
||||
|
||||
真正降低一个产品的价格是[通过垃圾来获取其原材料][18]。伴随着小规模的回收利用过程(例如我实验室正在使用的 [Recyclebots][19])最近得到了改进,这使得人们可以从废物中制造有用的产品,因此产生了一系列让人眼花缭乱的产品。最重要的是,任何人都可以利用专用系统中的一小部分成本来获取到绿色、自定义化的产品。我们生产出相比常规商品具有[更低的销售税][20]的定制化产品——它们具有相同的功能,更好的定制化功能以及几乎没有成本。
|
||||
|
||||
### 了解更多
|
||||
|
||||
在[使用开源项目创建、分享和省钱的项目][4]中,我分享了在家具制造和循环利用的潜力,以及如何利用开源来为大宗商品评分,如房屋、电力。您可以在我和Megan Krieger以及Janet Callahan三人在密歇根理工学院的 [Husky Bites][21] 中的网络研讨会上了解更多。
|
||||
|
||||
希望这些知识能足够激发侄女或侄子或侄女侄子找到进入开源的方式!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/20/10/influence-open-source
|
||||
|
||||
作者:[Joshua Pearce][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[萌新阿岩](https://github.com/mengxinayan)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/jmpearce
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/open_pipe_red_hat_tower_building.png?itok=8ho3yi7L (pipe in a building)
|
||||
[2]: https://distrowatch.com/
|
||||
[3]: https://opensource.com/article/20/4/ad-blockers
|
||||
[4]: https://www.appropedia.org/Create,_Share,_and_Save_Money_Using_Open-Source_Projects
|
||||
[5]: https://opensource.com/sites/default/files/uploads/opendesk_furniture_lift-standing-desk.jpg (Lift Standing Desk)
|
||||
[6]: https://www.appropedia.org/File:Opendesk_furniture_lift-standing-desk.jpg
|
||||
[7]: https://creativecommons.org/licenses/by-nc-sa/2.0/
|
||||
[8]: http://www.mdpi.com/2227-7080/5/3/45
|
||||
[9]: https://doi.org/10.3390/inventions3030064
|
||||
[10]: https://www.mdpi.com/2227-7080/5/1/7
|
||||
[11]: https://opensource.com/sites/default/files/uploads/3dprinted_household.jpg (3D printed household items)
|
||||
[12]: https://www.appropedia.org/File:3dprinted_household.JPG
|
||||
[13]: https://creativecommons.org/licenses/by-sa/3.0/
|
||||
[14]: https://opensource.com/article/20/10/open-source-hardware-savings
|
||||
[15]: https://opensource.com/sites/default/files/uploads/recyclebotrep.png (Recyclebot)
|
||||
[16]: https://www.appropedia.org/File:Recyclebotrep.png
|
||||
[17]: https://www.gnu.org/licenses/gpl-3.0.html
|
||||
[18]: https://www.academia.edu/34738483/Tightening_the_Loop_on_the_Circular_Economy_Coupled_Distributed_Recycling_and_Manufacturing_with_Recyclebot_and_RepRap_3-D_Printing
|
||||
[19]: https://www.appropedia.org/Recyclebot
|
||||
[20]: https://opensource.com/article/17/3/how-to-create-consumer-goods-open-hardware
|
||||
[21]: https://www.facebook.com/Michigan-Tech-College-of-Engineering-109353424030003/videos/husky-bites-presents-special-guest-joshua-m-pearce/2669023713361207/
|
Loading…
Reference in New Issue
Block a user