1205 Commits
0.3 ... master

Author SHA1 Message Date
Xingyu.Wang
4948360714 Merge pull request #30864 from LCTT/wxy-patch-1
Update README.md
2024-04-09 17:55:19 +08:00
Xingyu.Wang
2ce7ec556a Update README.md 2024-04-09 17:55:07 +08:00
Xingyu Wang
0d80a48d23 结束了,感谢大家
感谢所有的贡献者,感谢所有的读者和支持者。这个项目及其背后的 Linux 中国就此落幕。
2024-02-06 10:21:21 +08:00
Xingyu Wang
949e20f629 归档 202401,结束本项目。
感谢诸位一直以来的无私奉献,愿倒下一个 Linux 中国,站起来无数开源新苗。
2024-02-01 14:12:22 +08:00
Xingyu.Wang
c4fa2ed158 Merge pull request #30855 from wxy/20230208-AI--An-Introduction-to-Scikit-learn-and-Our-First-Trained-Model
RP:published/20230208 AI- An Introduction to Scikit-learn and Our First Trained Model.md
2024-01-31 15:42:02 +08:00
Xingyu Wang
7ea075a2b0 RP
@toknow-gh
https://linux.cn/article-16600-1.html
2024-01-31 15:35:57 +08:00
Xingyu.Wang
5d3ae6632e Merge pull request #30854 from wxy/20240124-Shut-Down-WSL-Running-Linux-Distributions
RP:published/20240124 Shut Down WSL Running Linux Distributions.md
2024-01-31 11:29:32 +08:00
Xingyu Wang
c1dc99d028 R 2024-01-31 11:27:55 +08:00
Xingyu Wang
0d045808b4 R 2024-01-31 11:22:37 +08:00
Xingyu Wang
faf417487c RP
@geekpi
https://linux.cn/article-16599-1.html
2024-01-31 11:19:38 +08:00
Xingyu.Wang
717659e026 Merge pull request #30853 from wxy/20240123-MX-Linux-23.2--Libretto--is-Here
RP:published/20240123 MX Linux 23.2 -Libretto- is Here.md
2024-01-31 10:41:33 +08:00
Xingyu Wang
bda691214d RP
@geekpi
https://linux.cn/article-16598-1.html
2024-01-31 10:39:28 +08:00
Xingyu.Wang
d431d68bde Merge pull request #30851 from toknow-gh/ai-7
Translated
2024-01-31 10:11:13 +08:00
geekpi
7e93af490a Merge pull request #30852 from geekpi/translating
translated
2024-01-31 08:33:58 +08:00
geekpi
bfc3de1eef translated 2024-01-31 08:33:19 +08:00
toknow-gh
64ae6c9984 Translated
tech/20230208 AI- An Introduction to Scikit-learn and Our First Trained Model.md
2024-01-30 23:16:56 +08:00
Xingyu.Wang
2669003b71 Merge pull request #30850 from wxy/20230907-How-to-Configure-VLAN-Tagging-Over-Bonding-on-RHEL
RP:published/20230907 How to Configure VLAN Tagging Over Bonding on RHEL.md
2024-01-30 15:55:59 +08:00
Xingyu Wang
ad7221642b RP
@geekpi
https://linux.cn/article-16596-1.html
2024-01-30 15:48:39 +08:00
Xingyu.Wang
d7b697740c Merge pull request #30849 from wxy/20240122-Fractal-6--Linux-Matrix-Messaging-App-Adds-Notification-Settings-and-Improvements
RP:published/20240122 Fractal 6- Linux Matrix Messaging App Adds Notification Settings and Improvements.md
2024-01-30 15:01:38 +08:00
Xingyu Wang
aad6ae4e7e RP
@geekpi
https://linux.cn/article-16595-1.html
2024-01-30 15:00:27 +08:00
Xingyu.Wang
6674e6f8b7 Merge pull request #30848 from wxy/20230821-How-to-Use-Subtitles-with-VLC
RP:published/20230821 How to Use Subtitles with VLC.md
2024-01-30 14:37:51 +08:00
Xingyu.Wang
fa5cb4ca42 Merge pull request #30842 from lujun9972/add-MjAyNDAxMjYgU2V0dGluZyBVcCBQcml2YXRlR1BUIHRvIFVzZSBBSSBDaGF0IFdpdGggWW91ciBEb2N1bWVudHMubWQK
选题[tech]: 20240126 Setting Up PrivateGPT to Use AI Chat With Your Doc…
2024-01-30 09:24:01 +08:00
Xingyu.Wang
f39123d6e5 Merge pull request #30841 from lujun9972/add-MjAyNDAxMjYgVlMgQ29kZSB2cyBWUyBDb2RpdW0tIFdoYXQtcyB0aGUgRGlmZmVyZW5jZS5tZAo=
选题[tech]: 20240126 VS Code vs VS Codium: What's the Difference?
2024-01-30 09:23:11 +08:00
Xingyu.Wang
701bc8b885 Merge pull request #30839 from lujun9972/add-MjAyNDAxMjYgSW5zaWRlIC5naXQubWQK
选题[tech]: 20240126 Inside .git
2024-01-30 09:22:28 +08:00
geekpi
22e4761338 Merge pull request #30847 from geekpi/translating
translating
2024-01-30 08:50:23 +08:00
geekpi
7c07cf6418 translating 2024-01-30 08:47:29 +08:00
geekpi
8b4ee8a29c Merge pull request #30846 from geekpi/translating
translated
2024-01-30 08:40:31 +08:00
geekpi
3d83918007 translated 2024-01-30 08:36:49 +08:00
Xingyu Wang
c9de886b73 RP
@geekpi
https://linux.cn/article-16594-1.html
2024-01-29 18:20:47 +08:00
geekpi
82337ce73c Merge pull request #30838 from geekpi/translating
translating
2024-01-29 08:30:14 +08:00
geekpi
f1fa489c0f translating 2024-01-29 08:29:12 +08:00
geekpi
80ba007027 Merge pull request #30837 from geekpi/translating
translated
2024-01-29 08:27:39 +08:00
geekpi
02b3d48695 translated 2024-01-29 08:25:50 +08:00
Xingyu.Wang
94654611cf Merge pull request #30836 from wxy/20240118-Valve-is-Not-Happy-With-Ubuntu-s-Snap-Version-of-Steam--Here-s-Why.md
ATRP:published/20240118 Valve is Not Happy With Ubuntu-s Snap Version of Steam- Here-s Why.md
2024-01-28 09:37:44 +08:00
Xingyu Wang
7378e434bd ATRP
@wxy
https://linux.cn/article-16590-1.html
2024-01-28 09:33:46 +08:00
Xingyu.Wang
0b678a33f9 Merge pull request #30835 from wxy/20240117-Wine-9.0-Release-Adds-Experimental-Wayland-Driver
ATRP:published/20240117 Wine 9.0 Release Adds Experimental Wayland Driver.md
2024-01-27 14:02:45 +08:00
Xingyu Wang
eb79d17cd5 ATRP
@wxy
https://linux.cn/article-16588-1.html
2024-01-27 14:00:27 +08:00
Xingyu.Wang
9f9141f40f Merge pull request #30834 from wxy/20231211-Creating-and-Working-with-Links-in-Obsidian
RP:published/20231211 Creating and Working with Links in Obsidian.md
2024-01-27 09:58:06 +08:00
Xingyu Wang
598be2f137 RP
@geekpi
https://linux.cn/article-16587-1.html
2024-01-27 09:54:40 +08:00
DarkSun
61215256e2 选题[tech]: 20240126 Inside .git
sources/tech/20240126 Inside .git.md
2024-01-27 05:21:57 +08:00
DarkSun
bfacb17c1b 选题[tech]: 20240126 VS Code vs VS Codium: What's the Difference?
sources/tech/20240126 VS Code vs VS Codium- What-s the Difference.md
2024-01-27 05:02:59 +08:00
DarkSun
9537ae138b 选题[tech]: 20240126 Setting Up PrivateGPT to Use AI Chat With Your Documents
sources/tech/20240126 Setting Up PrivateGPT to Use AI Chat With Your Documents.md
2024-01-27 05:02:49 +08:00
Xingyu.Wang
a7d81eb771 Merge pull request #30833 from wxy/20240124-Ah,-Snap--Firefox-is-Finally-Providing-Deb-Package-for-Debian-and-Ubuntu-Users
ATRP:published/20240124 Ah, Snap- Firefox is Finally Providing Deb Package for Debian and Ubuntu Users.md
2024-01-26 15:15:15 +08:00
Xingyu Wang
aac3973d3f ATRP
@wxy
https://linux.cn/article-16585-1.html
2024-01-26 15:10:00 +08:00
geekpi
2194fddc14 Merge pull request #30832 from geekpi/translating
translating
2024-01-26 08:41:10 +08:00
geekpi
cf868bf532 translating 2024-01-26 08:40:25 +08:00
geekpi
66357a205a Merge pull request #30831 from geekpi/translating
translated
2024-01-26 08:38:38 +08:00
geekpi
a67c10d8cb translated 2024-01-26 08:36:36 +08:00
Xingyu.Wang
66e8fd1488 Merge pull request #30830 from wxy/20230806-Mastering-Nautilus-File-Search-in-Linux-Desktop
RP:published/20230806 Mastering Nautilus File Search in Linux Desktop.md
2024-01-25 16:05:38 +08:00
Xingyu Wang
d50b1719c1 RP
@geekpi
https://linux.cn/article-16583-1.html
2024-01-25 16:00:31 +08:00
Xingyu.Wang
2eff6f87ca Merge pull request #30829 from wxy/20240120-Floorp-Browser--Is-It-The-Most-Advanced-Cross-Platform-Firefox-Derivative
ATRP:published/20240120 Floorp Browser- Is It The Most Advanced Cross-Platform Firefox Derivative.md
2024-01-25 15:16:11 +08:00
Xingyu Wang
132b51d1bd ATRP
@wxy
https://linux.cn/article-16582-1.html
2024-01-25 15:13:17 +08:00
Xingyu.Wang
50bc1146c1 Merge pull request #30823 from lujun9972/add-MjAyNDAxMTggVmFsdmUgaXMgTm90IEhhcHB5IFdpdGggVWJ1bnR1LXMgU25hcCBWZXJzaW9uIG9mIFN0ZWFtLSBIZXJlLXMgV2h5Lm1kCg==
选题[news]: 20240118 Valve is Not Happy With Ubuntu's Snap Version of S…
2024-01-25 11:39:05 +08:00
Xingyu.Wang
6ef8f741a0 Merge pull request #30824 from lujun9972/add-MjAyNDAxMTcgV2luZSA5LjAgUmVsZWFzZSBBZGRzIEV4cGVyaW1lbnRhbCBXYXlsYW5kIERyaXZlci5tZAo=
选题[news]: 20240117 Wine 9.0 Release Adds Experimental Wayland Driver
2024-01-25 11:38:36 +08:00
Xingyu.Wang
9d92d79804 Merge pull request #30825 from lujun9972/add-MjAyNDAxMTYgTGludXggTWludCAyMS4zIExhbmRzIFdpdGggQ2lubmFtb24gNi4wIERlc2t0b3AubWQK
选题[news]: 20240116 Linux Mint 21.3 Lands With Cinnamon 6.0 Desktop
2024-01-25 11:37:40 +08:00
Xingyu.Wang
ea184e4d37 Merge pull request #30827 from lujun9972/add-MjAyNDAxMTYgbXYgQ29tbWFuZCBFeGFtcGxlcy5tZAo=
选题[tech]: 20240116 mv Command Examples
2024-01-25 11:35:52 +08:00
Xingyu.Wang
7e83061915 Merge pull request #30828 from lujun9972/add-MjAyNDAxMTcgSG93IHRvIGFjaGlldmUgLWRuZiBzd2FwLS1lcXVpdmFsZW50IGZ1bmN0aW9uYWxpdHkgd2l0aCBycG0tb3N0cmVlLm1kCg==
选题[tech]: 20240117 How to achieve “dnf swap”-equivalent functionality…
2024-01-25 11:33:29 +08:00
Xingyu.Wang
c63ebfc9b1 Merge pull request #30821 from lujun9972/add-MjAyNDAxMTkgU3Bhcmt5TGludXggMjAyNC4wMSBVcGRhdGUgRGVidXRzIFdpdGggUGlwZVdpcmUgYW5kIE1vcmUubWQK
选题[news]: 20240119 SparkyLinux 2024.01 Update Debuts With PipeWire an…
2024-01-25 11:30:14 +08:00
Xingyu.Wang
66f73cecd9 Merge pull request #30820 from lujun9972/add-MjAyNDAxMjAgRmxvb3JwIEJyb3dzZXItIElzIEl0IFRoZSBNb3N0IEFkdmFuY2VkIENyb3NzLVBsYXRmb3JtIEZpcmVmb3ggRGVyaXZhdGl2ZS5tZAo=
选题[news]: 20240120 Floorp Browser: Is It The Most Advanced Cross-Plat…
2024-01-25 11:22:27 +08:00
Xingyu.Wang
4b1cf00de4 Merge pull request #30818 from lujun9972/add-MjAyNDAxMjQgU2h1dCBEb3duIFdTTCBSdW5uaW5nIExpbnV4IERpc3RyaWJ1dGlvbnMubWQK
选题[tech]: 20240124 Shut Down WSL Running Linux Distributions
2024-01-25 11:20:08 +08:00
Xingyu.Wang
501b523b60 Merge pull request #30817 from lujun9972/add-MjAyNDAxMjMgTVggTGludXggMjMuMiAtTGlicmV0dG8tIGlzIEhlcmUubWQK
选题[news]: 20240123 MX Linux 23.2 'Libretto' is Here!
2024-01-25 11:19:48 +08:00
Xingyu.Wang
e485589413 Merge pull request #30816 from lujun9972/add-MjAyNDAxMjMgc2NwIENvbW1hbmQgRXhhbXBsZXMubWQK
选题[tech]: 20240123 scp Command Examples
2024-01-25 11:17:47 +08:00
Xingyu.Wang
7a22458511 Merge pull request #30815 from lujun9972/add-MjAyNDAxMjIgRnJhY3RhbCA2LSBMaW51eCBNYXRyaXggTWVzc2FnaW5nIEFwcCBBZGRzIE5vdGlmaWNhdGlvbiBTZXR0aW5ncyBhbmQgSW1wcm92ZW1lbnRzLm1kCg==
选题[news]: 20240122 Fractal 6: Linux Matrix Messaging App Adds Notific…
2024-01-25 11:14:46 +08:00
Xingyu.Wang
b0c3e086c2 Merge pull request #30813 from lujun9972/add-MjAyNDAxMjIgT0tEIG9uIEZlZG9yYSBXb3Jrc3RhdGlvbiB3aXRoIENSQy5tZAo=
选题[tech]: 20240122 OKD on Fedora Workstation with CRC
2024-01-25 11:11:27 +08:00
Xingyu.Wang
c9a2515cb8 Merge pull request #30812 from lujun9972/add-MjAyNDAxMjIgQ1AtTS0gQW4gVW5zdW5nIEFyY2hpdGVjdCBvZiBNaWNyby1Db21wdXRpbmcubWQK
选题[tech]: 20240122 CP/M: An Unsung Architect of Micro-Computing
2024-01-25 11:10:28 +08:00
Xingyu.Wang
3b406b77bc Rename 20240122 CP-M- An Unsung Architect of Micro-Computing.md to 20240122 CP-M- An Unsung Architect of Micro-Computing.md 2024-01-25 11:09:53 +08:00
Xingyu.Wang
98d5ce18c1 Merge pull request #30810 from lujun9972/add-MjAyNDAxMjQgQWgsIFNuYXAtIEZpcmVmb3ggaXMgRmluYWxseSBQcm92aWRpbmcgRGViIFBhY2thZ2UgZm9yIERlYmlhbiBhbmQgVWJ1bnR1IFVzZXJzLm1kCg==
选题[news]: 20240124 Ah, Snap! Firefox is Finally Providing Deb Package…
2024-01-25 11:05:54 +08:00
geekpi
2a27c97ef2 Merge pull request #30811 from geekpi/translating
translating
2024-01-25 08:45:05 +08:00
geekpi
3d4552dda2 translating 2024-01-25 08:44:25 +08:00
geekpi
d60c46e5a9 Merge pull request #30809 from geekpi/translating
translated
2024-01-25 08:41:36 +08:00
geekpi
a354007151 translated 2024-01-25 08:39:02 +08:00
DarkSun
2cf23b3895 选题[news]: 20240124 Ah, Snap! Firefox is Finally Providing Deb Package for Debian and Ubuntu Users
sources/news/20240124 Ah, Snap- Firefox is Finally Providing Deb Package for Debian and Ubuntu Users.md
2024-01-25 05:03:22 +08:00
DarkSun
29a483e3b2 选题[tech]: 20240124 Shut Down WSL Running Linux Distributions
sources/tech/20240124 Shut Down WSL Running Linux Distributions.md
2024-01-25 05:02:36 +08:00
Xingyu.Wang
da35fe0060 Merge pull request #30808 from wxy/20230116-AI--Introduction-to-Keras-and-Our-First-Data-Set.md
RP:published/20230116 AI- Introduction to Keras and Our First Data Set.md
2024-01-24 09:56:41 +08:00
Xingyu Wang
81472f4f0d RP
@toknow-gh
https://linux.cn/article-16579-1.html
2024-01-24 09:37:47 +08:00
geekpi
9922bb0490 Merge pull request #30807 from geekpi/translating
translating
2024-01-24 08:51:51 +08:00
geekpi
3e38d5e88e translating 2024-01-24 08:51:03 +08:00
geekpi
02f59037e9 Merge pull request #30806 from geekpi/translating
translated
2024-01-24 08:45:30 +08:00
geekpi
d143f7ce65 translated 2024-01-24 08:44:49 +08:00
DarkSun
015ac8c6c6 选题[news]: 20240123 MX Linux 23.2 'Libretto' is Here!
sources/news/20240123 MX Linux 23.2 -Libretto- is Here.md
2024-01-24 05:19:43 +08:00
DarkSun
2b2288bd92 选题[tech]: 20240123 scp Command Examples
sources/tech/20240123 scp Command Examples.md
2024-01-24 05:02:41 +08:00
Xingyu.Wang
f96565399f Merge pull request #30805 from wxy/20240102-Using-GDM-Settings-to-Customize-Login-Screen-in-GNOME
RP:published/20240102 Using GDM Settings to Customize Login Screen in GNOME.md
2024-01-23 11:39:36 +08:00
Xingyu Wang
b58e79959f RP
@geekpi
https://linux.cn/article-16577-1.html
2024-01-23 11:24:17 +08:00
geekpi
4f1f6b2f65 Merge pull request #30804 from geekpi/translating
translating
2024-01-23 08:48:47 +08:00
geekpi
3ab4fc9d69 translating 2024-01-23 08:48:14 +08:00
geekpi
957017bd7f Merge pull request #30803 from geekpi/translating
translated
2024-01-23 08:44:29 +08:00
geekpi
9c1b115a50 translated 2024-01-23 08:41:39 +08:00
DarkSun
3456817a0f 选题[news]: 20240122 Fractal 6: Linux Matrix Messaging App Adds Notification Settings and Improvements
sources/news/20240122 Fractal 6- Linux Matrix Messaging App Adds Notification Settings and Improvements.md
2024-01-23 05:21:34 +08:00
DarkSun
0d414d919b 选题[tech]: 20240122 OKD on Fedora Workstation with CRC
sources/tech/20240122 OKD on Fedora Workstation with CRC.md
2024-01-23 05:20:19 +08:00
DarkSun
590a843d25 选题[tech]: 20240122 CP/M: An Unsung Architect of Micro-Computing
sources/tech/20240122 CP-M- An Unsung Architect of Micro-Computing.md
2024-01-23 05:02:39 +08:00
Xingyu.Wang
7f054a729e Merge pull request #30802 from wxy/20240103-Writing-Docs-with-Kate.md
RP:published/20240103 Writing Docs with Kate.md
2024-01-22 10:09:22 +08:00
Xingyu Wang
1f78d120e9 R 2024-01-22 10:07:23 +08:00
Xingyu Wang
b2a94dca34 RP
@geekpi
https://linux.cn/article-16574-1.html
2024-01-22 10:05:14 +08:00
geekpi
2440431cf6 Merge pull request #30801 from geekpi/translating
translating
2024-01-22 08:47:21 +08:00
geekpi
eb49a038c5 translating 2024-01-22 08:46:44 +08:00
geekpi
3e36653ec7 Merge pull request #30800 from geekpi/translating
translated
2024-01-22 08:42:59 +08:00
geekpi
40932e89df translated 2024-01-22 08:40:37 +08:00
Xingyu.Wang
97ea240dc4 Merge pull request #30799 from wxy/20240105-Do-we-think-of-git-commits-as-diffs,-snapshots,-and-or-histories
RP:published/20240105 Do we think of git commits as diffs, snapshots, and-or histories.md
2024-01-21 18:49:34 +08:00
Xingyu Wang
62e03c65cf RP
@Cubik65536
https://linux.cn/article-16572-1.html
2024-01-21 18:48:25 +08:00
Xingyu.Wang
cf991ff545 Merge pull request #30798 from toknow-gh/ai-7
Translating
2024-01-21 09:49:00 +08:00
Xingyu.Wang
087f0915ac Merge pull request #30797 from toknow-gh/ai-6
Translated
2024-01-21 09:48:42 +08:00
DarkSun
d0e7340a0c 选题[news]: 20240116 Linux Mint 21.3 Lands With Cinnamon 6.0 Desktop
sources/news/20240116 Linux Mint 21.3 Lands With Cinnamon 6.0 Desktop.md
2024-01-21 05:23:09 +08:00
DarkSun
a64d35e063 选题[news]: 20240117 Wine 9.0 Release Adds Experimental Wayland Driver
sources/news/20240117 Wine 9.0 Release Adds Experimental Wayland Driver.md
2024-01-21 05:22:58 +08:00
DarkSun
bbf16157b0 选题[news]: 20240118 Valve is Not Happy With Ubuntu's Snap Version of Steam: Here's Why
sources/news/20240118 Valve is Not Happy With Ubuntu-s Snap Version of Steam- Here-s Why.md
2024-01-21 05:22:48 +08:00
DarkSun
1376841474 选题[news]: 20240119 SparkyLinux 2024.01 Update Debuts With PipeWire and More
sources/news/20240119 SparkyLinux 2024.01 Update Debuts With PipeWire and More.md
2024-01-21 05:22:29 +08:00
DarkSun
020fcce48f 选题[news]: 20240120 Floorp Browser: Is It The Most Advanced Cross-Platform Firefox Derivative?
sources/news/20240120 Floorp Browser- Is It The Most Advanced Cross-Platform Firefox Derivative.md
2024-01-21 05:22:19 +08:00
toknow-gh
17cfbfb966 Translating
tech/20230208 AI- An Introduction to Scikit-learn and Our First Trained Model.md
2024-01-20 00:17:02 +08:00
toknow-gh
6add80f119 Translated
sources/tech/20230116 AI- Introduction to Keras and Our First Data Set.md
2024-01-20 00:10:37 +08:00
Xingyu.Wang
6411d64889 Merge pull request #30796 from wxy/20240109-Free-Command-Examples
RP:published/20240109 Free Command Examples.md
2024-01-19 22:18:44 +08:00
Xingyu Wang
9e26d29ff1 RP
@geekpi
https://linux.cn/article-16570-1.html
2024-01-19 22:16:17 +08:00
Xingyu.Wang
c5241bbce2 Merge pull request #30795 from wxy/20240112-Ubuntu-24.04-LTS-To-Get-12-Years-of-Updates
RP:published/20240112 Ubuntu 24.04 LTS To Get 12 Years of Updates.md
2024-01-19 17:59:03 +08:00
Xingyu Wang
46f72edb1b RP
@geekpi
https://linux.cn/article-16568-1.html
2024-01-19 17:55:36 +08:00
geekpi
8d5d6b7c4a Merge pull request #30794 from geekpi/translating
translating
2024-01-19 09:10:39 +08:00
geekpi
36a23f7904 translating 2024-01-19 09:10:04 +08:00
geekpi
2475a21e2d Merge pull request #30793 from geekpi/translating
translated
2024-01-19 09:06:16 +08:00
geekpi
1cd7edeba5 translated 2024-01-19 09:03:42 +08:00
DarkSun
bf542c8c03 选题[tech]: 20240117 How to achieve “dnf swap”-equivalent functionality with rpm-ostree
sources/tech/20240117 How to achieve -dnf swap--equivalent functionality with rpm-ostree.md
2024-01-19 05:18:54 +08:00
DarkSun
322e01e6a5 选题[tech]: 20240116 mv Command Examples
sources/tech/20240116 mv Command Examples.md
2024-01-19 05:02:59 +08:00
Xingyu.Wang
39925bfd6b Merge pull request #30792 from wxy/20240111-Broadcom-Isn-t-Done-Axing-VMware-Customers
RP:published/20240111 Broadcom Isn-t Done Axing VMware Customers.md
2024-01-18 12:48:44 +08:00
Xingyu Wang
a7b688a45b RP
@geekpi
https://linux.cn/article-16566-1.html
2024-01-18 12:42:59 +08:00
geekpi
e44501b307 Merge pull request #30791 from geekpi/translating
translating
2024-01-18 08:47:10 +08:00
geekpi
5f8314869a translating 2024-01-18 08:46:03 +08:00
geekpi
325dfcd485 Merge pull request #30790 from geekpi/translating
translated
2024-01-18 08:43:02 +08:00
geekpi
84a39cc674 translated 2024-01-18 08:40:40 +08:00
Xingyu.Wang
f2adf8e48e Merge pull request #30789 from wxy/20240113-Parch-Linux--A-Simple---Easy-to-Use-Arch-based-Distro
ATRP:published/20240113 Parch Linux- A Simple - Easy-to-Use Arch-based Distro.md
2024-01-17 19:24:38 +08:00
Xingyu Wang
b67653b893 ATRP
@wxy
https://linux.cn/article-16565-1.html
2024-01-17 19:23:24 +08:00
geekpi
241bb8d2c2 Merge pull request #30788 from geekpi/translating
translating
2024-01-17 08:46:06 +08:00
geekpi
4d8d833f19 translating 2024-01-17 08:43:02 +08:00
geekpi
aa67f36fba Merge pull request #30787 from geekpi/translating
translated
2024-01-17 08:41:53 +08:00
geekpi
8580dca008 translated 2024-01-17 08:41:25 +08:00
Xingyu.Wang
b72be36dc5 Merge pull request #30786 from wxy/20240103-How-to-Check-if-Your-Linux-System-Uses-systemd
RP:published/20240103 How to Check if Your Linux System Uses systemd.md
2024-01-17 08:12:31 +08:00
Xingyu Wang
93d5d2c753 RP
@geekpi
https://linux.cn/article-16563-1.html
2024-01-17 08:10:31 +08:00
Xingyu.Wang
f71cfff22c Merge pull request #30785 from wxy/20240108-AI-Tools-Are-Here-for-Open-Source-Audio-Editor--Audacity.md
RP:published/20240108 AI Tools Are Here for Open-Source Audio Editor -Audacity.md
2024-01-16 14:06:30 +08:00
Xingyu Wang
f8b1470802 RP
@geekpi
https://linux.cn/article-16560-1.html
2024-01-16 14:01:08 +08:00
Xingyu.Wang
b718892489 Merge pull request #30782 from Cubik65536/translate/tech/MjAyNDAxMDUgRG8gd2UgdGhpbmsgb2YgZ2l0IGNvbW1pdHMgYXMgZGlmZnMsIHNuYXBzaG90cywgYW5kLW9yIGhpc3Rvcmllcy5tZAo=
[提交翻译][tech]: 20240105 Do we think of git commits as diffs, snapshots, and-or histories
2024-01-16 13:41:10 +08:00
Xingyu.Wang
e49aa99f4c Merge pull request #30781 from lujun9972/add-MjAyNDAxMTUgRW1hY3MgZm9yIHdyaXRlcnMubWQK
自动选题[tech]: 20240115 Emacs for writers
2024-01-16 13:40:45 +08:00
geekpi
fb3f0a7dcc Merge pull request #30784 from geekpi/translating
translating
2024-01-16 08:48:49 +08:00
geekpi
2e1b1b36fa translating 2024-01-16 08:46:59 +08:00
geekpi
e72e486302 Merge pull request #30783 from geekpi/translating
Translating
2024-01-16 08:45:37 +08:00
geekpi
fb8c206a55 translated 2024-01-16 08:45:14 +08:00
geekpi
c7c8d47230 translated 2024-01-16 08:43:45 +08:00
Qian Qian "Cubik"‎
569b8d5573 [移动翻译][tech]: 20240105 Do we think of git commits as diffs, snapshots, and-or histories 2024-01-15 19:19:23 -05:00
Qian Qian "Cubik"‎
ae46179b83 [翻译完成][tech]: 20240105 Do we think of git commits as diffs, snapshots, and-or histories 2024-01-15 19:18:53 -05:00
DarkSun
2aa146c886 选题[tech]: 20240115 Emacs for writers
sources/tech/20240115 Emacs for writers.md
2024-01-16 05:03:27 +08:00
Xingyu.Wang
44fc082d57 Merge pull request #30780 from wxy/20240110-App-Fleet--Open-Source-App-to-Automate-Your-Workspace-on-Linux
RP:published/20240110 App Fleet- Open-Source App to Automate Your Workspace on Linux.md
2024-01-15 16:12:35 +08:00
Xingyu Wang
e7a14a44e4 RP
@geekpi
https://linux.cn/article-16558-1.html
2024-01-15 16:08:40 +08:00
Xingyu.Wang
a2dcac1b2a Merge pull request #30779 from wxy/20240110-Crash-Course-On-Using-Textual
ATRP:published/20240110 Crash Course On Using Textual.md
2024-01-15 11:18:43 +08:00
Xingyu Wang
d7a3266cb6 ATRP
@wxy
https://linux.cn/article-16557-1.html
2024-01-15 11:07:20 +08:00
Xingyu.Wang
ad98336294 Merge pull request #30778 from lujun9972/add-MjAyNDAxMTMgUGFyY2ggTGludXgtIEEgU2ltcGxlIC0gRWFzeS10by1Vc2UgQXJjaC1iYXNlZCBEaXN0cm8ubWQK
自动选题[news]: 20240113 Parch Linux: A Simple & Easy-to-Use Arch-based Distro
2024-01-15 08:47:55 +08:00
DarkSun
cb89bc9d87 选题[news]: 20240113 Parch Linux: A Simple & Easy-to-Use Arch-based Distro
sources/news/20240113 Parch Linux- A Simple - Easy-to-Use Arch-based Distro.md
2024-01-15 05:06:12 +08:00
Xingyu.Wang
3cf3e1f331 Merge pull request #30777 from wxy/20240108-7-Tips-and-Tools-to-Improve-Your-Gaming-Experience-on-Linux
ATRP:published/20240108 7 Tips and Tools to Improve Your Gaming Experience on Linux.md
2024-01-13 23:08:09 +08:00
Xingyu Wang
76252b700a ATRP
@wxy
https://linux.cn/article-16555-1.html
2024-01-13 23:03:51 +08:00
Xingyu.Wang
950f187111 Merge pull request #30776 from wxy/20240112-13-Best-Open-Source-ChatGPT-Alternatives
ATRP:published/20240112 13 Best Open Source ChatGPT Alternatives.md
2024-01-13 11:25:47 +08:00
Xingyu Wang
28e11e0659 ATRP
@wxy
https://linux.cn/article-16553-1.html
2024-01-13 11:21:09 +08:00
Xingyu.Wang
3ac22aa787 Merge pull request #30775 from lujun9972/add-MjAyNDAxMTIgVWJ1bnR1IDI0LjA0IExUUyBUbyBHZXQgMTIgWWVhcnMgb2YgVXBkYXRlcy5tZAo=
自动选题[news]: 20240112 Ubuntu 24.04 LTS To Get 12 Years of Updates
2024-01-13 09:16:58 +08:00
Xingyu.Wang
3e09a4a93a Merge pull request #30774 from lujun9972/add-MjAyNDAxMTIgMTMgQmVzdCBPcGVuIFNvdXJjZSBDaGF0R1BUIEFsdGVybmF0aXZlcy5tZAo=
自动选题[tech]: 20240112 13 Best Open Source ChatGPT Alternatives
2024-01-13 09:16:41 +08:00
DarkSun
c3ac61c361 选题[news]: 20240112 Ubuntu 24.04 LTS To Get 12 Years of Updates
sources/news/20240112 Ubuntu 24.04 LTS To Get 12 Years of Updates.md
2024-01-13 05:07:31 +08:00
DarkSun
5294dc405e 选题[tech]: 20240112 13 Best Open Source ChatGPT Alternatives
sources/tech/20240112 13 Best Open Source ChatGPT Alternatives.md
2024-01-13 05:03:03 +08:00
Xingyu.Wang
c7cbc234d9 Merge pull request #30773 from wxy/20240102-Scribus-1.6.0-Release-is-a-Massive-Upgrade-With-New-Features.md
RP:published/20240102 Scribus 1.6.0 Release is a Massive Upgrade With New Features.md
2024-01-12 15:49:09 +08:00
Xingyu Wang
0816d91981 RP
@geekpi
20240102 Scribus 1.6.0 Release is a Massive Upgrade With New Features.md
2024-01-12 15:46:17 +08:00
geekpi
aaa360f4ac Merge pull request #30772 from geekpi/translating
translating
2024-01-12 09:10:32 +08:00
geekpi
0f3890f211 translating 2024-01-12 09:09:39 +08:00
geekpi
41d61616fa Merge pull request #30771 from geekpi/translating
translated
2024-01-12 08:36:17 +08:00
geekpi
8d54c29b63 translated 2024-01-12 08:35:02 +08:00
Xingyu.Wang
cf41fa4d35 Merge pull request #30770 from lujun9972/add-MjAyNDAxMTEgQnJvYWRjb20gSXNuLXQgRG9uZSBBeGluZyBWTXdhcmUgQ3VzdG9tZXJzLm1kCg==
自动选题[news]: 20240111 Broadcom Isn't Done Axing VMware Customers
2024-01-12 08:06:07 +08:00
DarkSun
62bf0d40f2 选题[news]: 20240111 Broadcom Isn't Done Axing VMware Customers
sources/news/20240111 Broadcom Isn-t Done Axing VMware Customers.md
2024-01-12 05:04:16 +08:00
Xingyu Wang
d50aeb91c9 清除过期 2024-01-11 15:21:50 +08:00
geekpi
472274e405 Merge pull request #30768 from geekpi/translating
translating
2024-01-11 08:50:56 +08:00
geekpi
067bdeed04 translating 2024-01-11 08:42:34 +08:00
geekpi
94bf184087 Merge pull request #30767 from geekpi/translating
translated
2024-01-11 08:38:40 +08:00
geekpi
bf03e4fea8 translated 2024-01-11 08:36:40 +08:00
Xingyu.Wang
56a3aa51cf Merge pull request #30764 from lujun9972/add-MjAyNDAxMTAgQ3Jhc2ggQ291cnNlIE9uIFVzaW5nIFRleHR1YWwubWQK
自动选题[tech]: 20240110 Crash Course On Using Textual
2024-01-11 07:42:56 +08:00
Xingyu.Wang
6573faff92 Merge pull request #30766 from wxy/20240107-You-Can-Now-Run-Shutter-on-Wayland.md
ATRP:published/20240107 You Can Now Run Shutter on Wayland.md
2024-01-11 07:42:34 +08:00
Xingyu Wang
7454865ed6 ATRP
@wxy
https://linux.cn/article-16549-1.html
2024-01-11 07:40:53 +08:00
Xingyu.Wang
a88398c298 Merge pull request #30765 from lujun9972/add-MjAyNDAxMTAgQXBwIEZsZWV0LSBPcGVuLVNvdXJjZSBBcHAgdG8gQXV0b21hdGUgWW91ciBXb3Jrc3BhY2Ugb24gTGludXgubWQK
自动选题[news]: 20240110 App Fleet: Open-Source App to Automate Your Workspace on Linux
2024-01-11 07:11:16 +08:00
Xingyu.Wang
101c91f5f1 Merge pull request #30763 from lujun9972/add-MjAyNDAxMTAgSG93IHRvIFVzZSBUaWxpbmcgQXNzaXN0YW50IG9uIEdOT01FIERlc2t0b3AubWQK
自动选题[tech]: 20240110 How to Use Tiling Assistant on GNOME Desktop?
2024-01-11 07:09:20 +08:00
DarkSun
3983a7327a 选题[news]: 20240110 App Fleet: Open-Source App to Automate Your Workspace on Linux
sources/news/20240110 App Fleet- Open-Source App to Automate Your Workspace on Linux.md
2024-01-11 05:04:43 +08:00
DarkSun
12cf7d1aa8 选题[tech]: 20240110 Crash Course On Using Textual
sources/tech/20240110 Crash Course On Using Textual.md
2024-01-11 05:03:35 +08:00
DarkSun
593017cb7b 选题[tech]: 20240110 How to Use Tiling Assistant on GNOME Desktop?
sources/tech/20240110 How to Use Tiling Assistant on GNOME Desktop.md
2024-01-11 05:03:17 +08:00
Xingyu.Wang
50ceffd9a3 Merge pull request #30762 from wxy/20240108-Linux-Kernel-6.7-Release-is-Loaded-With-Fixes-and-a-New-Filesystem
ATRP:published/20240108 Linux Kernel 6.7 Release is Loaded With Fixes and a New Filesystem.md
2024-01-10 16:13:14 +08:00
Xingyu Wang
18b4da4f9e ATRP
@wxy
https://linux.cn/article-16547-1.html
2024-01-10 16:10:15 +08:00
Xingyu.Wang
134883bd2b Merge pull request #30761 from wxy/20240104-Deepin-becomes-the-first-Linux-distro-to-integrate-AI-features-for-Photos-and-IDE.md
RP:published/20240104 Deepin becomes the first Linux distro to integrate AI features for Photos and IDE.md
2024-01-10 15:28:58 +08:00
Xingyu Wang
d572b596d3 RP
@geekpi
https://linux.cn/article-16546-1.html
2024-01-10 15:27:22 +08:00
Xingyu.Wang
5f92dd7400 Merge pull request #30758 from lujun9972/add-MjAyNDAxMDcgWW91IENhbiBOb3cgUnVuIFNodXR0ZXIgb24gV2F5bGFuZC5tZAo=
自动选题[news]: 20240107 You Can Now Run Shutter on Wayland!
2024-01-10 15:17:42 +08:00
Xingyu.Wang
3291e46978 Merge pull request #30757 from lujun9972/add-MjAyNDAxMDggQUkgVG9vbHMgQXJlIEhlcmUgZm9yIE9wZW4tU291cmNlIEF1ZGlvIEVkaXRvciAtQXVkYWNpdHkubWQK
自动选题[news]: 20240108 AI Tools Are Here for Open-Source Audio Editor 'Audacity
2024-01-10 15:17:25 +08:00
Xingyu.Wang
2fe2cb79c5 Merge pull request #30756 from lujun9972/add-MjAyNDAxMDggTGludXggS2VybmVsIDYuNyBSZWxlYXNlIGlzIExvYWRlZCBXaXRoIEZpeGVzIGFuZCBhIE5ldyBGaWxlc3lzdGVtLm1kCg==
自动选题[news]: 20240108 Linux Kernel 6.7 Release is Loaded With Fixes and a New Filesystem
2024-01-10 15:17:02 +08:00
Xingyu.Wang
5008fd7c64 Merge pull request #30755 from lujun9972/add-MjAyNDAxMDkgVmFuaWxsYSBPUyAyIEJldGEgUmVsZWFzZSBEYXRlIFJldmVhbGVkLSA2IFRoaW5ncyB0byBFeHBlY3QubWQK
自动选题[news]: 20240109 Vanilla OS 2 Beta Release Date Revealed: 6 Things to Expect
2024-01-10 15:16:29 +08:00
Xingyu.Wang
e057623394 Merge pull request #30754 from lujun9972/add-MjAyNDAxMDkgVXBncmFkZSBBbGVydC0gU29sdXMgTGludXggNC41IEFkZHMgTmV3IENhbGFtYXJlcyBJbnN0YWxsZXIgYW5kIFhGQ0UgRmxhdm9yLm1kCg==
自动选题[news]: 20240109 Upgrade Alert! Solus Linux 4.5 Adds New Calamares Installer and XFCE Flavor
2024-01-10 15:15:59 +08:00
Xingyu.Wang
64c39ce9bf Merge pull request #30753 from lujun9972/add-MjAyNDAxMDkgRnJlZSBDb21tYW5kIEV4YW1wbGVzLm1kCg==
自动选题[tech]: 20240109 Free Command Examples
2024-01-10 15:15:37 +08:00
geekpi
1fdb5d4df7 Merge pull request #30760 from geekpi/translating
translating
2024-01-10 08:47:49 +08:00
geekpi
2dc8d8561d translating 2024-01-10 08:47:05 +08:00
geekpi
ff36759e68 Merge pull request #30759 from geekpi/translating
translated
2024-01-10 08:45:25 +08:00
geekpi
847bd2d606 translated 2024-01-10 08:43:28 +08:00
DarkSun
13a9387e81 选题[news]: 20240107 You Can Now Run Shutter on Wayland!
sources/news/20240107 You Can Now Run Shutter on Wayland.md
2024-01-10 05:15:10 +08:00
DarkSun
1c8eaa640f 选题[news]: 20240108 AI Tools Are Here for Open-Source Audio Editor 'Audacity'
sources/news/20240108 AI Tools Are Here for Open-Source Audio Editor -Audacity.md
2024-01-10 05:14:58 +08:00
DarkSun
7e3e56fd31 选题[news]: 20240108 Linux Kernel 6.7 Release is Loaded With Fixes and a New Filesystem
sources/news/20240108 Linux Kernel 6.7 Release is Loaded With Fixes and a New Filesystem.md
2024-01-10 05:10:29 +08:00
DarkSun
c746d6d366 选题[news]: 20240109 Vanilla OS 2 Beta Release Date Revealed: 6 Things to Expect
sources/news/20240109 Vanilla OS 2 Beta Release Date Revealed- 6 Things to Expect.md
2024-01-10 05:08:09 +08:00
DarkSun
98587fefbe 选题[news]: 20240109 Upgrade Alert! Solus Linux 4.5 Adds New Calamares Installer and XFCE Flavor
sources/news/20240109 Upgrade Alert- Solus Linux 4.5 Adds New Calamares Installer and XFCE Flavor.md
2024-01-10 05:03:40 +08:00
DarkSun
f2fd3d3a82 选题[tech]: 20240109 Free Command Examples
sources/tech/20240109 Free Command Examples.md
2024-01-10 05:03:14 +08:00
geekpi
42de141c7b Merge pull request #30752 from geekpi/translating
translating
2024-01-09 08:31:23 +08:00
geekpi
26414a090d translating 2024-01-09 08:30:54 +08:00
geekpi
8a73e00089 Merge pull request #30751 from geekpi/translating
translated
2024-01-09 08:27:35 +08:00
geekpi
8a4ee82ac1 translated 2024-01-09 08:26:39 +08:00
Xingyu.Wang
8077dd9030 Merge pull request #30750 from wxy/20240102-6-Predictions-for-Linux-and-Open-Source-in-2024
ATRP:published/20240102 6 Predictions for Linux and Open Source in 2024.md
2024-01-09 07:46:35 +08:00
Xingyu Wang
2354f20b85 ATRP
@wxy
https://linux.cn/article-16544-1.html
2024-01-09 07:43:27 +08:00
Xingyu.Wang
ee3bea1334 Merge pull request #30749 from lujun9972/add-MjAyNDAxMDggNyBUaXBzIGFuZCBUb29scyB0byBJbXByb3ZlIFlvdXIgR2FtaW5nIEV4cGVyaWVuY2Ugb24gTGludXgubWQK
自动选题[tech]: 20240108 7 Tips and Tools to Improve Your Gaming Experience on Linux
2024-01-09 07:15:25 +08:00
DarkSun
33c7b9aebf 选题[tech]: 20240108 7 Tips and Tools to Improve Your Gaming Experience on Linux
sources/tech/20240108 7 Tips and Tools to Improve Your Gaming Experience on Linux.md
2024-01-09 05:03:12 +08:00
Xingyu.Wang
74fefe8035 Merge pull request #30748 from wxy/20231204-Mounting-git-commits-as-folders-with-NFS.md
RP:published/20231204 Mounting git commits as folders with NFS.md
2024-01-08 16:47:40 +08:00
Xingyu Wang
32ece7c926 RP
@guevaraya
https://linux.cn/article-16542-1.html
这篇有两个问题,一个是翻译的不够仔细,明显的错误比较多。另外一个是你的 MD 编辑器的问题,会破坏原有的 MD 文件布局(链接样式等)。
2024-01-08 16:45:16 +08:00
Xingyu.Wang
238820f9f0 Merge pull request #30747 from Cubik65536/apply-tech-MjAyNDAxMDUgRG8gd2UgdGhpbmsgb2YgZ2l0IGNvbW1pdHMgYXMgZGlmZnMsIHNuYXBzaG90cywgYW5kLW9yIGhpc3Rvcmllcy5tZAo=
[翻译申请][tech]: 20240105 Do we think of git commits as diffs, snapshots, and-or histories
2024-01-08 13:59:04 +08:00
Qian Qian "Cubik"‎
014add58ea [翻译申请][tech]: 20240105 Do we think of git commits as diffs, snapshots, and-or histories
Signed-off-by: Qian Qian "Cubik"‎ <cubik65536@cubik65536.top>
2024-01-07 20:38:02 -05:00
geekpi
374413cbd1 Merge pull request #30746 from geekpi/translating
translating
2024-01-08 08:52:08 +08:00
geekpi
9e0df19c7b translating 2024-01-08 08:50:47 +08:00
geekpi
19fbc62fe4 Merge pull request #30745 from geekpi/translating
Translating
2024-01-08 08:41:00 +08:00
geekpi
313715ad9c translated 2024-01-08 08:38:20 +08:00
Xingyu.Wang
0927322f79 Merge pull request #30744 from wxy/20240101-Archcraft--A-Customized-Lightweight-Linux-Distro-Experience.md
RP:published/20240101 Archcraft- A Customized Lightweight Linux Distro Experience.md
2024-01-07 14:44:23 +08:00
Xingyu Wang
9ee40e8114 RP
@geekpi
https://linux.cn/article-16540-1.html
2024-01-07 14:40:57 +08:00
Xingyu.Wang
4866d829c4 Merge pull request #30743 from lujun9972/add-MjAyNDAxMDIgNiBQcmVkaWN0aW9ucyBmb3IgTGludXggYW5kIE9wZW4gU291cmNlIGluIDIwMjQubWQK
自动选题[news]: 20240102 6 Predictions for Linux and Open Source in 2024
2024-01-07 14:06:47 +08:00
Xingyu.Wang
e9bce04f15 Merge pull request #30742 from lujun9972/add-MjAyNDAxMDIgU2NyaWJ1cyAxLjYuMCBSZWxlYXNlIGlzIGEgTWFzc2l2ZSBVcGdyYWRlIFdpdGggTmV3IEZlYXR1cmVzLm1kCg==
自动选题[news]: 20240102 Scribus 1.6.0 Release is a Massive Upgrade With New Features
2024-01-07 14:01:58 +08:00
Xingyu.Wang
300346e63a Merge pull request #30741 from lujun9972/add-MjAyNDAxMDMgTml0cnV4IDMuMi4xIFJlbGVhc2UgQWRkcyBhIE5ldyBUaWxpbmcgV2luZG93IE1hbmFnZXIubWQK
自动选题[news]: 20240103 Nitrux 3.2.1 Release Adds a New Tiling Window Manager
2024-01-07 14:01:18 +08:00
Xingyu.Wang
902e9bc2e2 Merge pull request #30740 from lujun9972/add-MjAyNDAxMDQgRGVlcGluIGJlY29tZXMgdGhlIGZpcnN0IExpbnV4IGRpc3RybyB0byBpbnRlZ3JhdGUgQUkgZmVhdHVyZXMgZm9yIFBob3RvcyBhbmQgSURFLm1kCg==
自动选题[news]: 20240104 Deepin becomes the first Linux distro to integrate AI features for Photos and IDE
2024-01-07 14:01:01 +08:00
DarkSun
776fc39bff 选题[news]: 20240102 6 Predictions for Linux and Open Source in 2024
sources/news/20240102 6 Predictions for Linux and Open Source in 2024.md
2024-01-07 05:27:17 +08:00
DarkSun
5273fea366 选题[news]: 20240102 Scribus 1.6.0 Release is a Massive Upgrade With New Features
sources/news/20240102 Scribus 1.6.0 Release is a Massive Upgrade With New Features.md
2024-01-07 05:22:48 +08:00
DarkSun
71719a0c1d 选题[news]: 20240103 Nitrux 3.2.1 Release Adds a New Tiling Window Manager
sources/news/20240103 Nitrux 3.2.1 Release Adds a New Tiling Window Manager.md
2024-01-07 05:22:37 +08:00
DarkSun
d97edd8fb1 选题[news]: 20240104 Deepin becomes the first Linux distro to integrate AI features for Photos and IDE
sources/news/20240104 Deepin becomes the first Linux distro to integrate AI features for Photos and IDE.md
2024-01-07 05:22:25 +08:00
Xingyu.Wang
8ef742dcc0 Merge pull request #30738 from guevaraya/translated
Update and rename 20231204 Mounting git commits as folders with NFS.m…
2024-01-06 08:00:28 +08:00
Xingyu.Wang
a2b00bd4c5 Rename translated/tech/sources/tech/20231204 Mounting git commits as folders with NFS.md to translated/tech/20231204 Mounting git commits as folders with NFS.md 2024-01-06 07:58:56 +08:00
Xingyu.Wang
6ee31fcdd1 Merge pull request #30739 from lujun9972/add-MjAyNDAxMDUgRG8gd2UgdGhpbmsgb2YgZ2l0IGNvbW1pdHMgYXMgZGlmZnMsIHNuYXBzaG90cywgYW5kLW9yIGhpc3Rvcmllcy5tZAo=
自动选题[tech]: 20240105 Do we think of git commits as diffs, snapshots, and/or histories?
2024-01-06 07:57:04 +08:00
Xingyu.Wang
0b7aed1daf Rename translated/tech/20231204 Mounting git commits as folders with N to translated/tech/sources/tech/20231204 Mounting git commits as folders with NFS.md 2024-01-06 07:56:16 +08:00
DarkSun
8c32125ad7 选题[tech]: 20240105 Do we think of git commits as diffs, snapshots, and/or histories?
sources/tech/20240105 Do we think of git commits as diffs, snapshots, and-or histories.md
2024-01-06 05:05:28 +08:00
guevaraya
f867eb5350 Update and rename 20231204 Mounting git commits as folders with NFS.md to 20231204 Mounting git commits as folders with N 2024-01-06 00:00:28 +08:00
Xingyu.Wang
1193965cd6 Merge pull request #30734 from wxy/20231229-8-Defining-Moments-in-the-Open-Source-and-Linux-World--2023-Edition.md
RP:published/20231229 8 Defining Moments in the Open Source and Linux World- 2023 Edition.md
2024-01-05 16:33:17 +08:00
Xingyu Wang
ccd9bf6292 RP
@geekpi
https://linux.cn/article-16535-1.html
2024-01-05 16:30:34 +08:00
geekpi
f5b083689f translating 2024-01-05 08:48:19 +08:00
geekpi
8e16d61383 Merge pull request #30733 from geekpi/translating
translated
2024-01-05 08:43:21 +08:00
geekpi
a8f90f0fe3 translated 2024-01-05 08:42:29 +08:00
Xingyu.Wang
7c4ff9b20b Merge pull request #30731 from wxy/20231226-Ctrl-C-Ctrl-V-Made-Better-With-These-Clipboard-Managers-in-Linux.md
ATRP:published/20231226 Ctrl-C Ctrl-V Made Better With These Clipboard Managers in Linux.md
2024-01-05 00:16:39 +08:00
Xingyu Wang
eea392972a ATRP
@wxy
https://linux.cn/article-16534-1.html
2024-01-05 00:10:48 +08:00
Xingyu.Wang
bd09b3e882 Merge pull request #30730 from wxy/20231226-7-Unknown-Linux-Distros-that-Emerged-Winner-in-2023
RP:published/20231226 7 Unknown Linux Distros that Emerged Winner in 2023.md
2024-01-04 20:08:26 +08:00
Xingyu Wang
478dfa16da RP
@geekpi
https://linux.cn/article-16532-1.html
2024-01-04 18:09:15 +08:00
Xingyu.Wang
7b6c000ca9 Merge pull request #30727 from lujun9972/add-MjAyNDAxMDMgV3JpdGluZyBEb2NzIHdpdGggS2F0ZS5tZAo=
自动选题[tech]: 20240103 Writing Docs with Kate
2024-01-04 15:13:46 +08:00
Xingyu.Wang
29a74210eb Merge pull request #30726 from lujun9972/add-MjAyNDAxMDMgSG93IHRvIENoZWNrIGlmIFlvdXIgTGludXggU3lzdGVtIFVzZXMgc3lzdGVtZC5tZAo=
自动选题[tech]: 20240103 How to Check if Your Linux System Uses systemd
2024-01-04 15:13:28 +08:00
geekpi
433cc88ad4 Merge pull request #30729 from geekpi/translating
translating
2024-01-04 09:02:26 +08:00
geekpi
892123785c translating 2024-01-04 09:00:38 +08:00
geekpi
a7cfd00f81 Merge pull request #30728 from geekpi/translating
translated
2024-01-04 08:55:33 +08:00
geekpi
fc1286d4bf translated 2024-01-04 08:49:11 +08:00
DarkSun
d0bbabb484 选题[tech]: 20240103 Writing Docs with Kate
sources/tech/20240103 Writing Docs with Kate.md
2024-01-04 05:03:25 +08:00
DarkSun
377340f00d 选题[tech]: 20240103 How to Check if Your Linux System Uses systemd
sources/tech/20240103 How to Check if Your Linux System Uses systemd.md
2024-01-04 05:03:08 +08:00
Xingyu.Wang
fc9fcc77a3 Merge pull request #30725 from wxy/20231204-How-to-Install-Docker-on-Ubuntu
RP:published/20231204 How to Install Docker on Ubuntu.md
2024-01-03 23:03:34 +08:00
Xingyu Wang
cf295aedf8 RP
@geekpi
https://linux.cn/article-16531-1.html
2024-01-03 22:46:25 +08:00
Xingyu.Wang
40bc89b564 Merge pull request #30724 from wxy/20231231-9-Interesting-Distros-That-You-May-Have-Missed-in-2023.md
ATRP:published/20231231 9 Interesting Distros That You May Have Missed in 2023.md
2024-01-03 15:44:58 +08:00
Xingyu Wang
6c8a280c05 ATRP
@wxy
https://linux.cn/article-16529-1.html
2024-01-03 15:37:53 +08:00
Xingyu.Wang
846b8bced1 Merge pull request #30723 from wxy/20231230-Big-News--Gentoo-Linux-is-Now-Providing-Binary-Packages-for-Quick-Software-Installation.md
RP:published/20231230 Big News- Gentoo Linux is Now Providing Binary Packages for Quick Software Installation.md
2024-01-03 14:49:37 +08:00
Xingyu Wang
0be7934f18 RP
@geekpi
https://linux.cn/article-16528-1.html
2024-01-03 14:26:55 +08:00
Xingyu.Wang
173e6a9414 Merge pull request #30720 from lujun9972/add-MjAyNDAxMDIgVXNpbmcgR0RNIFNldHRpbmdzIHRvIEN1c3RvbWl6ZSBMb2dpbiBTY3JlZW4gaW4gR05PTUUubWQK
自动选题[tech]: 20240102 Using GDM Settings to Customize Login Screen in GNOME
2024-01-03 14:11:45 +08:00
geekpi
be602e5645 Merge pull request #30722 from geekpi/translating
translating
2024-01-03 08:43:42 +08:00
geekpi
fe7da7e07a translating 2024-01-03 08:41:41 +08:00
geekpi
55807a0f63 Merge pull request #30721 from geekpi/translating
translated
2024-01-03 08:38:11 +08:00
geekpi
82fddff5df translated 2024-01-03 08:31:44 +08:00
DarkSun
9a50733542 选题[tech]: 20240102 Using GDM Settings to Customize Login Screen in GNOME
sources/tech/20240102 Using GDM Settings to Customize Login Screen in GNOME.md
2024-01-03 05:03:12 +08:00
Xingyu.Wang
ed116012ec Merge pull request #30719 from wxy/20221228-AI--Anaconda-and-More-on-Probability
RP:published/20221228 AI- Anaconda and More on Probability.md
2024-01-02 16:28:50 +08:00
Xingyu Wang
96de878460 RP
@toknow-gh
https://linux.cn/article-16526-1.html
2024-01-02 16:18:51 +08:00
Xingyu.Wang
424e64896c Merge pull request #30717 from lujun9972/add-MjAyNDAxMDEgQXJjaGNyYWZ0LSBBIEN1c3RvbWl6ZWQgTGlnaHR3ZWlnaHQgTGludXggRGlzdHJvIEV4cGVyaWVuY2UubWQK
自动选题[news]: 20240101 Archcraft: A Customized Lightweight Linux Distro Experience
2024-01-02 10:41:09 +08:00
Xingyu.Wang
4b423da797 Merge pull request #30716 from lujun9972/add-MjAyNDAxMDEgU29tZSBub3RlcyBvbiBOaXhPUy5tZAo=
自动选题[tech]: 20240101 Some notes on NixOS
2024-01-02 10:40:50 +08:00
geekpi
a65ba1caf4 Merge pull request #30718 from geekpi/translating
translated
2024-01-02 09:14:24 +08:00
geekpi
c78fdc5819 translating 2024-01-02 09:14:11 +08:00
geekpi
5d317857c0 Merge branch 'master' of https://github.com/LCTT/TranslateProject into translating 2024-01-02 09:11:42 +08:00
geekpi
3667e60c5d translated 2024-01-02 09:08:44 +08:00
DarkSun
f4614a3485 选题[news]: 20240101 Archcraft: A Customized Lightweight Linux Distro Experience
sources/news/20240101 Archcraft- A Customized Lightweight Linux Distro Experience.md
2024-01-02 05:07:07 +08:00
DarkSun
8a5845a23d 选题[tech]: 20240101 Some notes on NixOS
sources/tech/20240101 Some notes on NixOS.md
2024-01-02 05:06:54 +08:00
Xingyu.Wang
b90c91252d Merge pull request #30715 from wxy/20231129-Searching-for-packages-with-‘rpm-ostree-search.md
RP:published/20231129 Searching for packages with ‘rpm-ostree search.md
2024-01-01 15:34:08 +08:00
Xingyu Wang
e29ae2bd60 RP
@geekpi
https://linux.cn/article-16523-1.html
2024-01-01 15:29:30 +08:00
Xingyu.Wang
96ad4143e2 Merge pull request #30714 from lujun9972/add-MjAyMzEyMzEgOSBJbnRlcmVzdGluZyBEaXN0cm9zIFRoYXQgWW91IE1heSBIYXZlIE1pc3NlZCBpbiAyMDIzLm1kCg==
自动选题[news]: 20231231 9 Interesting Distros That You May Have Missed in 2023
2024-01-01 15:00:42 +08:00
Xingyu.Wang
ed9d27fcbf Rename 20231231 9 Interesting Distros That You May Have Missed in 2023.md to 20231231 9 Interesting Distros That You May Have Missed in 2023.md 2024-01-01 14:57:50 +08:00
Xingyu Wang
7004008a93 归档 202312 2024-01-01 14:54:26 +08:00
DarkSun
6df1cf8eb9 选题[news]: 20231231 9 Interesting Distros That You May Have Missed in 2023
sources/news/20231231 9 Interesting Distros That You May Have Missed in 2023.md
2024-01-01 05:21:52 +08:00
Xingyu.Wang
610f169c15 Merge pull request #30712 from wxy/20231223-Xplorer--Not-Just-a-Pretty-Open-Source-File-Manager.md
RP:published/20231223 Xplorer- Not Just a Pretty Open-Source File Manager.md
2023-12-31 16:58:57 +08:00
Xingyu.Wang
27fa9b259e Merge pull request #30711 from lujun9972/add-MjAyMzEyMzAgQmlnIE5ld3MtIEdlbnRvbyBMaW51eCBpcyBOb3cgUHJvdmlkaW5nIEJpbmFyeSBQYWNrYWdlcyBmb3IgUXVpY2sgU29mdHdhcmUgSW5zdGFsbGF0aW9uLm1kCg==
自动选题[news]: 20231230 Big News! Gentoo Linux is Now Providing Binary Packages for Quick Software Installation
2023-12-31 16:54:23 +08:00
Xingyu Wang
64f19564cf RP
@geekpi
https://linux.cn/article-16521-1.html
2023-12-31 16:54:02 +08:00
DarkSun
a95744dd0f 选题[news]: 20231230 Big News! Gentoo Linux is Now Providing Binary Packages for Quick Software Installation
sources/news/20231230 Big News- Gentoo Linux is Now Providing Binary Packages for Quick Software Installation.md
2023-12-31 05:06:26 +08:00
Xingyu.Wang
14cf1f860b Merge pull request #30710 from wxy/20231227-8-Exciting-Open-Source-Apps-Linux-Users-Loved-Exploring-in-2023
ATRP:20231227 8 exciting open source apps linux users loved exploring in 2023
2023-12-30 17:50:59 +08:00
Xingyu Wang
c56647c783 R 2023-12-30 17:41:47 +08:00
Xingyu Wang
f74002c9e9 ARTP
@wxy
https://linux.cn/article-16518-1.html
2023-12-30 17:40:17 +08:00
Xingyu.Wang
8ba91ef04a Merge pull request #30709 from wxy/20231227-Rhino-Linux-2023.4-Update-Adds-An-Auto-Tiling-Feature.md
RP:published/20231227 Rhino Linux 2023.4 Update Adds An Auto-Tiling Feature.md
2023-12-30 16:23:25 +08:00
Xingyu Wang
b1784de3ce RP
@geekpi
https://linux.cn/article-16517-1.html
2023-12-30 16:11:08 +08:00
Xingyu.Wang
c54e256c27 Merge pull request #30708 from lujun9972/add-MjAyMzEyMjkgOCBEZWZpbmluZyBNb21lbnRzIGluIHRoZSBPcGVuIFNvdXJjZSBhbmQgTGludXggV29ybGQtIDIwMjMgRWRpdGlvbi5tZAo=
自动选题[news]: 20231229 8 Defining Moments in the Open Source and Linux World: 2023 Edition
2023-12-30 15:49:14 +08:00
DarkSun
b9a7a0228a 选题[news]: 20231229 8 Defining Moments in the Open Source and Linux World: 2023 Edition
sources/news/20231229 8 Defining Moments in the Open Source and Linux World- 2023 Edition.md
2023-12-30 05:05:41 +08:00
geekpi
f5fc9e9a36 Merge pull request #30707 from geekpi/translating
move
2023-12-29 09:39:13 +08:00
geekpi
2dfd39cbf0 move 2023-12-29 09:38:22 +08:00
geekpi
ba7ad69c59 Merge pull request #30706 from geekpi/translating
translating
2023-12-29 09:07:45 +08:00
geekpi
e81daaf44e translating 2023-12-29 09:07:05 +08:00
geekpi
92e09c5d09 Merge pull request #30705 from geekpi/translating
translated
2023-12-29 09:02:09 +08:00
geekpi
3f00ef999b translated 2023-12-29 08:48:52 +08:00
geekpi
358f4c38db Merge pull request #30703 from geekpi/translating
translating
2023-12-28 08:53:55 +08:00
geekpi
ffa64fbc72 translating 2023-12-28 08:51:06 +08:00
geekpi
b1e86baa3b Merge pull request #30702 from geekpi/translating
translated
2023-12-28 08:45:17 +08:00
geekpi
4770a0ac4e translated 2023-12-28 08:42:37 +08:00
Xingyu.Wang
6f7f750894 Merge pull request #30701 from lujun9972/add-MjAyMzEyMjcgOCBFeGNpdGluZyBPcGVuIFNvdXJjZSBBcHBzIExpbnV4IFVzZXJzIExvdmVkIEV4cGxvcmluZyBpbiAyMDIzLm1kCg==
自动选题[news]: 20231227 8 Exciting Open Source Apps Linux Users Loved Exploring in 2023
2023-12-28 08:09:23 +08:00
Xingyu.Wang
2cd3c72960 Rename 20231227 8 Exciting Open Source Apps Linux Users Loved Exploring in 2023.md to 20231227 8 Exciting Open Source Apps Linux Users Loved Exploring in 2023.md 2023-12-28 08:08:25 +08:00
Xingyu.Wang
06e9b05cc1 Merge pull request #30700 from lujun9972/add-MjAyMzEyMjcgUmhpbm8gTGludXggMjAyMy40IFVwZGF0ZSBBZGRzIEFuIEF1dG8tVGlsaW5nIEZlYXR1cmUubWQK
自动选题[news]: 20231227 Rhino Linux 2023.4 Update Adds An Auto-Tiling Feature
2023-12-28 08:07:48 +08:00
Xingyu.Wang
c1ac45ae09 Merge pull request #30699 from lujun9972/add-MjAyMzEyMjcgS3ViZXJuZXRlcyB3aXRoIENSSS1PIG9uIEZlZG9yYSBMaW51eCAzOS5tZAo=
自动选题[tech]: 20231227 Kubernetes with CRI-O on Fedora Linux 39
2023-12-28 08:07:16 +08:00
Xingyu.Wang
e9947bdef5 Merge pull request #30696 from lujun9972/add-MjAyMzEyMjYgNyBVbmtub3duIExpbnV4IERpc3Ryb3MgdGhhdCBFbWVyZ2VkIFdpbm5lciBpbiAyMDIzLm1kCg==
自动选题[news]: 20231226 7 Unknown Linux Distros that Emerged Winner in 2023
2023-12-28 08:06:53 +08:00
Xingyu.Wang
97375a674e Merge pull request #30695 from lujun9972/add-MjAyMzEyMjYgQ3RybC1DIEN0cmwtViBNYWRlIEJldHRlciBXaXRoIFRoZXNlIENsaXBib2FyZCBNYW5hZ2VycyBpbiBMaW51eC5tZAo=
自动选题[tech]: 20231226 Ctrl+C Ctrl+V Made Better With These Clipboard Managers in Linux
2023-12-28 08:06:28 +08:00
DarkSun
b79faec126 选题[news]: 20231227 8 Exciting Open Source Apps Linux Users Loved Exploring in 2023
sources/news/20231227 8 Exciting Open Source Apps Linux Users Loved Exploring in 2023.md
2023-12-28 05:06:40 +08:00
DarkSun
06a7c13a8f 选题[news]: 20231227 Rhino Linux 2023.4 Update Adds An Auto-Tiling Feature
sources/news/20231227 Rhino Linux 2023.4 Update Adds An Auto-Tiling Feature.md
2023-12-28 05:06:29 +08:00
DarkSun
342b7f80af 选题[tech]: 20231227 Kubernetes with CRI-O on Fedora Linux 39
sources/tech/20231227 Kubernetes with CRI-O on Fedora Linux 39.md
2023-12-28 05:03:20 +08:00
geekpi
a364195fb5 Merge pull request #30698 from geekpi/translating
translating
2023-12-27 08:56:56 +08:00
geekpi
dd8421e5a1 translating 2023-12-27 08:56:16 +08:00
geekpi
38b0b9f258 Merge pull request #30697 from geekpi/translating
translated
2023-12-27 08:51:22 +08:00
geekpi
c004212366 translated 2023-12-27 08:49:40 +08:00
DarkSun
d475f3f367 选题[news]: 20231226 7 Unknown Linux Distros that Emerged Winner in 2023
sources/news/20231226 7 Unknown Linux Distros that Emerged Winner in 2023.md
2023-12-27 05:06:13 +08:00
DarkSun
3cf57a5c2d 选题[tech]: 20231226 Ctrl+C Ctrl+V Made Better With These Clipboard Managers in Linux
sources/tech/20231226 Ctrl-C Ctrl-V Made Better With These Clipboard Managers in Linux.md
2023-12-27 05:03:13 +08:00
Xingyu.Wang
3a703dd244 Merge pull request #30694 from wxy/20231218-11-Fish-Shell-Features-That-Make-it-More-Awesome-Than-Bash
R:published/20231218 11 Fish Shell Features That Make it More Awesome Than Bash.md
2023-12-26 20:34:52 +08:00
Xingyu Wang
6ce989f966 R 2023-12-26 20:33:17 +08:00
Xingyu.Wang
9645ff79b7 Merge pull request #30693 from wxy/20231222-Darktable-4.6-Release-Improves-Performance-and-Adds-Nifty-New-Features
RP:published/20231222 Darktable 4.6 Release Improves Performance and Adds Nifty New Features.md
2023-12-26 15:05:57 +08:00
Xingyu Wang
66bd8f5796 RP
@geekpi
https://linux.cn/article-16506-1.html
2023-12-26 15:00:55 +08:00
Xingyu.Wang
298d55a48f Merge pull request #30692 from geekpi/translating
translating
2023-12-26 14:36:40 +08:00
Xingyu.Wang
7df910cbf0 Merge pull request #30690 from lujun9972/add-MjAyMzEyMjUgRC1CdXMgb3ZlcnZpZXcubWQK
自动选题[tech]: 20231225 D-Bus overview
2023-12-26 14:36:13 +08:00
geekpi
43def82c97 translating 2023-12-26 09:51:15 +08:00
geekpi
4b2e780c4d Merge pull request #30691 from geekpi/translating
translated
2023-12-26 09:49:46 +08:00
geekpi
c281fc3d25 translated 2023-12-26 09:38:32 +08:00
DarkSun
6c5056653c 选题[tech]: 20231225 D-Bus overview
sources/tech/20231225 D-Bus overview.md
2023-12-26 05:03:39 +08:00
Xingyu.Wang
1f7ca30707 Merge pull request #30689 from wxy/20231218-11-Fish-Shell-Features-That-Make-it-More-Awesome-Than-Bash
ATRP:published/20231218 11 Fish Shell Features That Make it More Awesome Than Bash.md
2023-12-25 19:51:28 +08:00
Xingyu Wang
ad1c14bb30 ATRP
@wxy
https://linux.cn/article-16504-1.html
2023-12-25 18:33:31 +08:00
Xingyu.Wang
023dce4071 Merge pull request #30688 from wxy/20231220-Qubes-OS-4.2-Releases-With-PipeWire-Support-And-Refreshed-Core-Apps
RP:published/20231220 Qubes OS 4.2 Releases With PipeWire Support And Refreshed Core Apps.md
2023-12-25 17:55:53 +08:00
Xingyu Wang
eeb910431e RP
@geekpi
https://linux.cn/article-16503-1.html
2023-12-25 17:52:16 +08:00
Xingyu.Wang
d8cfd4580d Merge pull request #30687 from guevaraya/Translating
Update 20231204 Mounting git commits as folders with NFS.md
2023-12-25 17:13:01 +08:00
guevaraya
37c52f306a Update 20231204 Mounting git commits as folders with NFS.md 2023-12-25 11:03:21 +08:00
Xingyu.Wang
46614cea36 Merge pull request #30683 from lujun9972/add-MjAyMzEyMjMgWHBsb3Jlci0gTm90IEp1c3QgYSBQcmV0dHkgT3Blbi1Tb3VyY2UgRmlsZSBNYW5hZ2VyLm1kCg==
自动选题[news]: 20231223 Xplorer: Not Just a Pretty Open-Source File Manager!
2023-12-25 10:47:04 +08:00
geekpi
3710204f8b Merge pull request #30685 from geekpi/translating
translating
2023-12-25 08:57:17 +08:00
geekpi
8634942371 translating 2023-12-25 08:56:34 +08:00
geekpi
ddb0f0375e Merge pull request #30684 from geekpi/translating
translated
2023-12-25 08:51:31 +08:00
geekpi
fa1b58f8f2 translated 2023-12-25 08:49:02 +08:00
DarkSun
27ffe7c049 选题[news]: 20231223 Xplorer: Not Just a Pretty Open-Source File Manager!
sources/news/20231223 Xplorer- Not Just a Pretty Open-Source File Manager.md
2023-12-24 05:03:42 +08:00
Xingyu Wang
e9f40ed258 清除过期文章 2023-12-23 23:25:45 +08:00
Xingyu.Wang
a34b86f7e0 Merge pull request #30682 from wxy/20231213-Geekbench-ML-Benchmark-App-Adds-Linux-Desktop-Support
RP:published/20231213 Geekbench ML Benchmark App Adds Linux Desktop Support.md
2023-12-23 15:30:48 +08:00
Xingyu Wang
eab965edd4 RP
@geekpi
https://linux.cn/article-16499-1.html
2023-12-23 15:21:40 +08:00
Xingyu.Wang
3774e2ba02 Merge pull request #30681 from lujun9972/add-MjAyMzEyMjIgRGFya3RhYmxlIDQuNiBSZWxlYXNlIEltcHJvdmVzIFBlcmZvcm1hbmNlIGFuZCBBZGRzIE5pZnR5IE5ldyBGZWF0dXJlcy5tZAo=
自动选题[news]: 20231222 Darktable 4.6 Release Improves Performance and Adds Nifty New Features
2023-12-23 15:01:05 +08:00
DarkSun
c85e3c83e6 选题[news]: 20231222 Darktable 4.6 Release Improves Performance and Adds Nifty New Features
sources/news/20231222 Darktable 4.6 Release Improves Performance and Adds Nifty New Features.md
2023-12-23 05:04:33 +08:00
Xingyu.Wang
b94961a8fe Merge pull request #30680 from wxy/20231219-Introducing-Fedora-Asahi-Remix-39.md
RP:published/20231219 Introducing Fedora Asahi Remix 39.md
2023-12-22 14:52:43 +08:00
Xingyu Wang
d97e583365 RP
@geekpi
https://linux.cn/article-16496-1.html
2023-12-22 14:50:50 +08:00
geekpi
d076eb059a Merge pull request #30679 from geekpi/translating
translating
2023-12-22 08:41:47 +08:00
geekpi
75722dbf0e translating 2023-12-22 08:41:01 +08:00
geekpi
81a0da1730 Merge pull request #30678 from geekpi/translating
translated
2023-12-22 08:39:11 +08:00
geekpi
847140d9a8 translated 2023-12-22 08:36:36 +08:00
Xingyu.Wang
38cc102163 Merge pull request #30674 from lujun9972/add-MjAyMzEyMjAgRmVkb3JhIEFzYWhpIFJlbWl4IDM5IFJlbGVhc2VkIGZvciBhIFBvbGlzaGVkIExpbnV4IEV4cGVyaWVuY2Ugb24gQXBwbGUgU2lsaWNvbiBNYWNzLm1kCg==
自动选题[news]: 20231220 Fedora Asahi Remix 39 Released for a Polished Linux Experience on Apple Silicon Macs
2023-12-21 20:35:21 +08:00
Xingyu.Wang
9375f0da66 Merge pull request #30673 from lujun9972/add-MjAyMzEyMjAgUXViZXMgT1MgNC4yIFJlbGVhc2VzIFdpdGggUGlwZVdpcmUgU3VwcG9ydCBBbmQgUmVmcmVzaGVkIENvcmUgQXBwcy5tZAo=
自动选题[news]: 20231220 Qubes OS 4.2 Releases With PipeWire Support And Refreshed Core Apps
2023-12-21 20:35:02 +08:00
Xingyu.Wang
fb666e768e Merge pull request #30672 from lujun9972/add-MjAyMzEyMjAgTW9uaXRvcmluZyBMaW51eCBTeXN0ZW1zIFdpdGggSW5mbHV4REIubWQK
自动选题[tech]: 20231220 Monitoring Linux Systems With InfluxDB
2023-12-21 20:34:43 +08:00
geekpi
7f41b1fc28 Merge pull request #30676 from geekpi/translating
translating
2023-12-21 08:48:06 +08:00
geekpi
dbd0177f64 translating 2023-12-21 08:46:26 +08:00
geekpi
c25360ef46 Merge pull request #30675 from geekpi/translating
translated
2023-12-21 08:44:47 +08:00
geekpi
f553979743 translated 2023-12-21 08:40:39 +08:00
DarkSun
5131525599 选题[news]: 20231220 Fedora Asahi Remix 39 Released for a Polished Linux Experience on Apple Silicon Macs
sources/news/20231220 Fedora Asahi Remix 39 Released for a Polished Linux Experience on Apple Silicon Macs.md
2023-12-21 05:04:54 +08:00
DarkSun
fb0863512c 选题[news]: 20231220 Qubes OS 4.2 Releases With PipeWire Support And Refreshed Core Apps
sources/news/20231220 Qubes OS 4.2 Releases With PipeWire Support And Refreshed Core Apps.md
2023-12-21 05:04:43 +08:00
DarkSun
e6b927efda 选题[tech]: 20231220 Monitoring Linux Systems With InfluxDB
sources/tech/20231220 Monitoring Linux Systems With InfluxDB.md
2023-12-21 05:03:25 +08:00
Xingyu.Wang
c0c9a589cb Merge pull request #30671 from wxy/20231219-Broadcom-Drops-A-Hammer-on-VMware-Customers-After-Acquisition
ATRP:published/20231219 Broadcom Drops A Hammer on VMware Customers After Acquisition.md
2023-12-20 21:30:32 +08:00
Xingyu Wang
a867307f7e ATRP
@wxy
https://linux.cn/article-16493-1.html
2023-12-20 21:27:31 +08:00
Xingyu.Wang
5554edf645 Merge pull request #30670 from wxy/20231212-Celeste--A-Multi-Cloud-Open-Source-GUI-File-Sync-Client-in-Rust
RP:published/20231212 Celeste- A Multi-Cloud Open-Source GUI File Sync Client in Rust.md
2023-12-20 21:13:46 +08:00
Xingyu Wang
a899e62b39 RP
@geekpi
https://linux.cn/article-16492-1.html
2023-12-20 21:11:17 +08:00
Xingyu.Wang
9e7f8d766c Merge pull request #30666 from lujun9972/add-MjAyMzEyMTkgR3VhcmRSYWlsLSBBbiBPcGVuIFNvdXJjZSBQcm9qZWN0IHRvIEhlbHAgUHJvbW90ZSBSZXNwb25zaWJsZSBBSSBEZXZlbG9wbWVudC5tZAo=
自动选题[news]: 20231219 GuardRail: An Open Source Project to Help Promote Responsible AI Development
2023-12-20 20:57:19 +08:00
Xingyu.Wang
8c5a0c26c9 Merge pull request #30665 from lujun9972/add-MjAyMzEyMTkgVGhpcyBBSS1Qb3dlcmVkIFBSIFJldmlld2VyIGlzIE9mZmVyaW5nIGl0cyBQcm8gUGxhbiBmb3IgRnJlZSB0byBPcGVuLVNvdXJjZSBQcm9qZWN0cy5tZAo=
自动选题[news]: 20231219 This AI-Powered PR Reviewer is Offering its Pro Plan for Free to Open-Source Projects
2023-12-20 20:56:56 +08:00
Xingyu.Wang
4f3e576585 Merge pull request #30664 from lujun9972/add-MjAyMzEyMTkgQnJvYWRjb20gRHJvcHMgQSBIYW1tZXIgb24gVk13YXJlIEN1c3RvbWVycyBBZnRlciBBY3F1aXNpdGlvbi5tZAo=
自动选题[news]: 20231219 Broadcom Drops A Hammer on VMware Customers After Acquisition
2023-12-20 20:42:40 +08:00
Xingyu.Wang
0ad393c9a1 Merge pull request #30663 from lujun9972/add-MjAyMzEyMTkgSW50cm9kdWNpbmcgRmVkb3JhIEFzYWhpIFJlbWl4IDM5Lm1kCg==
自动选题[tech]: 20231219 Introducing Fedora Asahi Remix 39
2023-12-20 20:40:05 +08:00
geekpi
43531a2a50 Merge pull request #30669 from geekpi/translating
translating
2023-12-20 09:44:18 +08:00
geekpi
db8445e5bc translating 2023-12-20 09:41:46 +08:00
geekpi
b1df73cd7d Merge pull request #30668 from geekpi/translating
translated
2023-12-20 09:38:53 +08:00
geekpi
ca8d0e2ae1 translated 2023-12-20 09:38:24 +08:00
geekpi
ed01aaa429 Merge pull request #30667 from geekpi/translating
translating
2023-12-20 09:36:45 +08:00
geekpi
15e2fe17fd translating 2023-12-20 09:34:45 +08:00
DarkSun
ee4e348723 选题[news]: 20231219 GuardRail: An Open Source Project to Help Promote Responsible AI Development
sources/news/20231219 GuardRail- An Open Source Project to Help Promote Responsible AI Development.md
2023-12-20 05:04:32 +08:00
DarkSun
d03e7ebc16 选题[news]: 20231219 This AI-Powered PR Reviewer is Offering its Pro Plan for Free to Open-Source Projects
sources/news/20231219 This AI-Powered PR Reviewer is Offering its Pro Plan for Free to Open-Source Projects.md
2023-12-20 05:04:21 +08:00
DarkSun
b4c5fec26b 选题[news]: 20231219 Broadcom Drops A Hammer on VMware Customers After Acquisition
sources/news/20231219 Broadcom Drops A Hammer on VMware Customers After Acquisition.md
2023-12-20 05:04:09 +08:00
DarkSun
1c162f1025 选题[tech]: 20231219 Introducing Fedora Asahi Remix 39
sources/tech/20231219 Introducing Fedora Asahi Remix 39.md
2023-12-20 05:03:30 +08:00
Xingyu.Wang
08bf740f2a Merge pull request #30662 from wxy/20231218-Wow--Microsoft-Windows-AI-Studio-Needs-Linux-to-Work
ATRP:published/20231218 Wow- Microsoft Windows AI Studio Needs Linux to Work.md
2023-12-19 23:14:40 +08:00
Xingyu Wang
a8e18a9e61 ATRP
@wxy
https://linux.cn/article-16489-1.html
2023-12-19 23:04:48 +08:00
Xingyu.Wang
22e90feefb Merge pull request #30658 from lujun9972/add-MjAyMzEyMTggV293LSBNaWNyb3NvZnQgV2luZG93cyBBSSBTdHVkaW8gTmVlZHMgTGludXggdG8gV29yay5tZAo=
自动选题[news]: 20231218 Wow! Microsoft Windows AI Studio Needs Linux to Work
2023-12-19 22:45:10 +08:00
Xingyu.Wang
f0f54e43a4 Merge pull request #30657 from lujun9972/add-MjAyMzEyMTggRmVkb3JhIHVzZXMgY29va2llcy5tZAo=
自动选题[tech]: 20231218 Fedora uses cookies
2023-12-19 22:44:16 +08:00
Xingyu.Wang
bf8c252f39 Merge pull request #30656 from lujun9972/add-MjAyMzEyMTggMTEgRmlzaCBTaGVsbCBGZWF0dXJlcyBUaGF0IE1ha2UgaXQgTW9yZSBBd2Vzb21lIFRoYW4gQmFzaC5tZAo=
自动选题[tech]: 20231218 11 Fish Shell Features That Make it More Awesome Than Bash
2023-12-19 22:43:58 +08:00
geekpi
c37066c1b0 Merge pull request #30661 from geekpi/translating
translating
2023-12-19 09:23:10 +08:00
geekpi
e5cab3bbb2 translating 2023-12-19 09:22:32 +08:00
geekpi
e80faded31 Merge pull request #30660 from geekpi/translating
translated
2023-12-19 09:20:13 +08:00
geekpi
4b7d1c2ca4 translated 2023-12-19 09:19:29 +08:00
geekpi
ef1dd125e1 Merge pull request #30659 from geekpi/translating
translated
2023-12-19 09:16:43 +08:00
geekpi
ac7ca57b8b translated 2023-12-19 09:15:18 +08:00
DarkSun
6826720e18 选题[news]: 20231218 Wow! Microsoft Windows AI Studio Needs Linux to Work
sources/news/20231218 Wow- Microsoft Windows AI Studio Needs Linux to Work.md
2023-12-19 05:21:08 +08:00
DarkSun
8e7040078f 选题[tech]: 20231218 Fedora uses cookies
sources/tech/20231218 Fedora uses cookies.md
2023-12-19 05:20:34 +08:00
DarkSun
1c983200be 选题[tech]: 20231218 11 Fish Shell Features That Make it More Awesome Than Bash
sources/tech/20231218 11 Fish Shell Features That Make it More Awesome Than Bash.md
2023-12-19 05:03:14 +08:00
Xingyu.Wang
1acd7a0531 Merge pull request #30654 from toknow-gh/ai-6
Translating
2023-12-19 00:10:55 +08:00
Xingyu.Wang
a53b606c3e Merge pull request #30655 from wxy/20221024.4-️-A-PWA-is-the-web-browser
ATRP:published/20221024.4 ️ A PWA is the web browser.md
2023-12-19 00:02:31 +08:00
Xingyu Wang
cd387f89ea ATRP
@wxy
https://linux.cn/article-16487-1.html
2023-12-19 00:00:19 +08:00
toknow-gh
d9b41e73fa Merge branch 'master' of github.com:toknow-gh/TranslateProject 2023-12-18 23:00:46 +08:00
Xingyu.Wang
4910eafd1b Merge pull request #30653 from wxy/20231214-Ardour-8.2-Release-Adds-A-Nifty-New-Feature-for-Digital-Music-Creators
ATRP:published/20231214 Ardour 8.2 Release Adds A Nifty New Feature for Digital Music Creators.md
2023-12-18 21:27:03 +08:00
Xingyu Wang
f9209437e2 ATRP
@wxy
https://linux.cn/article-16486-1.html
2023-12-18 21:16:32 +08:00
Xingyu.Wang
49e690f815 Merge pull request #30652 from toknow-gh/ai-5
Translated
2023-12-18 20:58:28 +08:00
toknow-gh
25c1a80dce Translating
tech/20230116 AI- Introduction to Keras and Our First Data Set.md
2023-12-18 20:20:31 +08:00
toknow-gh
5b96b46077 Merge branch 'ai-5' 2023-12-18 20:14:33 +08:00
toknow-gh
d86bab8e45 Translated
tech/20221228 AI- Anaconda and More on Probability.md
2023-12-18 20:06:05 +08:00
Xingyu.Wang
2c2ff615cc Merge pull request #30651 from wxy/20230102-AI--An-Introduction-to-Probability
RP:published/20230102 AI- An Introduction to Probability.md
2023-12-18 19:10:14 +08:00
Xingyu Wang
16352de495 R 2023-12-18 13:54:53 +08:00
Xingyu Wang
73c2f0d1f4 RP
@toknow-gh
https://linux.cn/article-16485-1.html
2023-12-18 13:46:08 +08:00
geekpi
6120e16423 Merge pull request #30650 from geekpi/translating
translating
2023-12-18 09:11:00 +08:00
geekpi
42e56388a6 translating 2023-12-18 09:10:02 +08:00
geekpi
6ad3c144ca Merge pull request #30649 from geekpi/translating
translated
2023-12-18 09:08:06 +08:00
geekpi
e696c19fc0 translated 2023-12-18 09:05:36 +08:00
Xingyu.Wang
3281cccea3 Merge pull request #30648 from wxy/20231216-Vivaldi-6.5-Releases-With-Future-Ready-Features
ATRP:published/20231216 Vivaldi 6.5 Releases With Future-Ready Features.md
2023-12-17 23:27:42 +08:00
Xingyu Wang
3ac865c6fd R 2023-12-17 23:26:18 +08:00
Xingyu Wang
7eaf1c389a ATRP
@wxy
https://linux.cn/article-16483-1.html
2023-12-17 23:21:07 +08:00
Xingyu.Wang
40b4725761 Merge pull request #30647 from wxy/20220509-Cloud-service-providers--How-to-keep-your-options-open.md
ATRP:published/20220509 Cloud service providers- How to keep your options open.md
2023-12-17 22:54:18 +08:00
Xingyu Wang
ab8f5bca0c ATRP
@wxy
https://linux.cn/article-16482-1.html
2023-12-17 22:40:41 +08:00
Xingyu.Wang
042e9b3d92 Merge pull request #30646 from CanYellow/15Trans
15th translation request
2023-12-17 20:14:10 +08:00
CanYellow
82c358022e Update 20221018.2 ️ Exploring innovative Open Organization charts.md
translation request
2023-12-17 10:30:28 +08:00
Xingyu.Wang
b55aa4ba3b Merge pull request #30645 from wxy/20231216-Blast-from-the-Past--DG-UX-UNIX-Operating-System
ATRP:published/20231216 Blast from the Past- DG-UX UNIX Operating System.md
2023-12-17 08:44:15 +08:00
Xingyu Wang
5c914c4967 ATRP
@wxy
https://linux.cn/article-16481-1.html
2023-12-17 08:40:32 +08:00
Xingyu.Wang
f4a6533e41 Merge pull request #30642 from lujun9972/add-MjAyMzEyMTYgQmxhc3QgZnJvbSB0aGUgUGFzdC0gREctVVggVU5JWCBPcGVyYXRpbmcgU3lzdGVtLm1kCg==
自动选题[tech]: 20231216 Blast from the Past: DG/UX UNIX Operating System
2023-12-17 08:12:44 +08:00
Xingyu.Wang
5ffae2bad6 Merge pull request #30644 from wxy/20220904-Opinion--Car-Design-Was-Better-Before-Computers
废弃文章,已经过时
2023-12-17 08:12:14 +08:00
Xingyu.Wang
5ee48632e1 Rename 20231216 Blast from the Past- DG-UX UNIX Operating System.md to 20231216 Blast from the Past- DG-UX UNIX Operating System.md 2023-12-17 08:06:45 +08:00
Xingyu.Wang
a9e7f5d045 Merge pull request #30643 from lujun9972/add-MjAyMzEyMTYgVml2YWxkaSA2LjUgUmVsZWFzZXMgV2l0aCBGdXR1cmUtUmVhZHkgRmVhdHVyZXMubWQK
自动选题[news]: 20231216 Vivaldi 6.5 Releases With Future-Ready Features
2023-12-17 08:05:49 +08:00
Xingyu Wang
db69076de1 废弃文章,已经过时 2023-12-17 08:05:03 +08:00
DarkSun
aeb47cdc6c 选题[news]: 20231216 Vivaldi 6.5 Releases With Future-Ready Features
sources/news/20231216 Vivaldi 6.5 Releases With Future-Ready Features.md
2023-12-17 05:04:04 +08:00
DarkSun
14ebc49d27 选题[tech]: 20231216 Blast from the Past: DG/UX UNIX Operating System
sources/tech/20231216 Blast from the Past- DG-UX UNIX Operating System.md
2023-12-17 05:03:24 +08:00
Xingyu.Wang
80e0077a4c Merge pull request #30640 from wxy/20231204-A-Web-Application-Firewall-for-Nginx
ATRP:published/20231204 A Web Application Firewall for Nginx.md
2023-12-16 09:30:17 +08:00
Xingyu Wang
7a4e81b6f5 ATRP
@wxy
https://linux.cn/article-16479-1.html
2023-12-16 09:26:47 +08:00
Xingyu.Wang
eb4fd1df4f Merge pull request #30639 from wxy/20231206--AI-Alliance--for-Open-Innovation-Formed-By-IBM-and-Meta-With-Intel,-AMD,-and-More
RP:published/20231206 -AI Alliance- for Open Innovation Formed By IBM and Meta With Intel, AMD, and More.md
2023-12-16 07:57:43 +08:00
Xingyu Wang
e62642584c RP
@geekpi
https://linux.cn/article-16477-1.html
2023-12-16 07:52:21 +08:00
Xingyu.Wang
3c1cb1a62d Merge pull request #30638 from wxy/20230616-Using-Postfix-DNS-SRV-record-resolution-feature
ATRP:published/20230616 Using Postfix DNS SRV record resolution feature.md
2023-12-15 17:42:52 +08:00
Xingyu Wang
243c188e81 ATRP
@wxy
https://linux.cn/article-16474-1.html
2023-12-15 17:36:57 +08:00
Xingyu.Wang
8086b512d0 Merge pull request #30637 from wxy/20231205-7-Sudo-Tips-and-Tweaks-for-Linux-Users
ATRP:published/20231205 7 Sudo Tips and Tweaks for Linux Users.md
2023-12-15 14:08:53 +08:00
geekpi
6a1e330c80 Merge pull request #30636 from geekpi/translating
translating
2023-12-15 08:57:54 +08:00
geekpi
e054abeb84 translating 2023-12-15 08:56:35 +08:00
geekpi
e84af44237 Merge pull request #30635 from geekpi/translating
translated
2023-12-15 08:53:46 +08:00
Xingyu.Wang
c3803dc333 Merge pull request #30634 from lujun9972/add-MjAyMzEyMTQgQXJkb3VyIDguMiBSZWxlYXNlIEFkZHMgQSBOaWZ0eSBOZXcgRmVhdHVyZSBmb3IgRGlnaXRhbCBNdXNpYyBDcmVhdG9ycy5tZAo=
自动选题[news]: 20231214 Ardour 8.2 Release Adds A Nifty New Feature for Digital Music Creators
2023-12-15 08:51:36 +08:00
geekpi
9ef5ff8f59 translated 2023-12-15 08:48:54 +08:00
DarkSun
7cf72a1464 选题[news]: 20231214 Ardour 8.2 Release Adds A Nifty New Feature for Digital Music Creators
sources/news/20231214 Ardour 8.2 Release Adds A Nifty New Feature for Digital Music Creators.md
2023-12-15 05:19:47 +08:00
Xingyu Wang
4f761dd4cb ATRP
@wxy
https://linux.cn/article-16472-1.html
2023-12-14 23:25:17 +08:00
Xingyu.Wang
0b2a360966 Merge pull request #30632 from wxy/20231209-Jami--A-Versatile-Open-Source-Distributed-Communication-App
ATRP:published/20231209 Jami- A Versatile Open-Source Distributed Communication App.md
2023-12-14 09:20:08 +08:00
Xingyu Wang
c31ec4d86f ATRP
@wxy
https://linux.cn/article-16471-1.html
2023-12-14 09:14:57 +08:00
Xingyu.Wang
4fcec9e99e Merge pull request #30631 from lujun9972/add-MjAyMzEyMTMgR2Vla2JlbmNoIE1MIEJlbmNobWFyayBBcHAgQWRkcyBMaW51eCBEZXNrdG9wIFN1cHBvcnQubWQK
自动选题[news]: 20231213 Geekbench ML Benchmark App Adds Linux Desktop Support
2023-12-14 07:52:28 +08:00
DarkSun
44e0fd59d5 选题[news]: 20231213 Geekbench ML Benchmark App Adds Linux Desktop Support
sources/news/20231213 Geekbench ML Benchmark App Adds Linux Desktop Support.md
2023-12-14 05:06:08 +08:00
Xingyu.Wang
3fb7dec60a Merge pull request #30630 from wxy/20231212-Bored-With-Bash--Change-the-Default-Shell-in-Linux.md
ATRP:published/20231212 Bored With Bash- Change the Default Shell in Linux.md
2023-12-13 22:12:35 +08:00
Xingyu Wang
36f4b87727 ATRP
@wxy
https://linux.cn/article-16469-1.html
2023-12-13 22:07:26 +08:00
Xingyu.Wang
add3afe96c Merge pull request #30629 from wxy/20231208-Armbian-23.11-Release-Supports-New-Boards-And-Adds-New-OS-Builds.md
ATRP:published/20231208 Armbian 23.11 Release Supports New Boards And Adds New OS Builds.md
2023-12-13 20:22:12 +08:00
Xingyu Wang
3c4d19f061 ATRP
@wxy
https://linux.cn/article-16468-1.html
2023-12-13 20:17:48 +08:00
Xingyu.Wang
afb3f6cb93 Merge pull request #30628 from wxy/20231211-Linux-Mint-21.3-Beta-Will-Let-You-Try-Cinnamon-6.0-Now.md
ATRP:published/20231211 Linux Mint 21.3 Beta Will Let You Try Cinnamon 6.0 Now.md
2023-12-13 06:55:53 +08:00
Xingyu Wang
70ab0caf5d ATRP
@wxy
https://linux.cn/article-16466-1.html
2023-12-13 06:52:33 +08:00
Xingyu.Wang
81f73aa2e2 Merge pull request #30627 from lujun9972/add-MjAyMzEyMTIgQ2VsZXN0ZS0gQSBNdWx0aS1DbG91ZCBPcGVuLVNvdXJjZSBHVUkgRmlsZSBTeW5jIENsaWVudCBpbiBSdXN0Lm1kCg==
自动选题[news]: 20231212 Celeste: A Multi-Cloud Open-Source GUI File Sync Client in Rust
2023-12-13 06:38:00 +08:00
Xingyu.Wang
4b8fe82a88 Merge pull request #30626 from lujun9972/add-MjAyMzEyMTIgQm9yZWQgV2l0aCBCYXNoLSBDaGFuZ2UgdGhlIERlZmF1bHQgU2hlbGwgaW4gTGludXgubWQK
自动选题[tech]: 20231212 Bored With Bash? Change the Default Shell in Linux
2023-12-13 06:37:38 +08:00
DarkSun
9d0085db58 选题[news]: 20231212 Celeste: A Multi-Cloud Open-Source GUI File Sync Client in Rust
sources/news/20231212 Celeste- A Multi-Cloud Open-Source GUI File Sync Client in Rust.md
2023-12-13 05:20:51 +08:00
DarkSun
2e24382859 选题[tech]: 20231212 Bored With Bash? Change the Default Shell in Linux
sources/tech/20231212 Bored With Bash- Change the Default Shell in Linux.md
2023-12-13 05:03:23 +08:00
Xingyu.Wang
74bfc233e7 Merge pull request #30625 from wxy/20231207-Kali-Linux-2023.4-Release-Adds-Raspberry-Pi-5-Support-With-GNOME-45
ATRP:published/20231207 Kali Linux 2023.4 Release Adds Raspberry Pi 5 Support With GNOME 45.md
2023-12-12 12:27:12 +08:00
Xingyu Wang
4094a8a6e1 ATRP
@wxy
https://linux.cn/article-16463-1.html
2023-12-12 12:25:16 +08:00
Xingyu.Wang
19eb26643c Merge pull request #30623 from lujun9972/add-MjAyMzEyMTEgTGludXggTWludCAyMS4zIEJldGEgV2lsbCBMZXQgWW91IFRyeSBDaW5uYW1vbiA2LjAgTm93Lm1kCg==
自动选题[news]: 20231211 Linux Mint 21.3 Beta Will Let You Try Cinnamon 6.0 Now!
2023-12-12 11:19:32 +08:00
Xingyu.Wang
e2ecd622f7 Merge pull request #30621 from lujun9972/add-MjAyMzEyMTEgQ3JlYXRpbmcgYW5kIFdvcmtpbmcgd2l0aCBMaW5rcyBpbiBPYnNpZGlhbi5tZAo=
自动选题[tech]: 20231211 Creating and Working with Links in Obsidian
2023-12-12 11:17:12 +08:00
Xingyu.Wang
54e21afadb Merge pull request #30624 from wxy/20221107.2-️-Build-your-own-SaaS-on-Linux-with-Vely
RP:published/20221107.2 ️ Build your own SaaS on Linux with Vely.md
2023-12-12 11:13:08 +08:00
Xingyu Wang
a696ee773c RP
@Drwhooooo
https://linux.cn/article-16462-1.html
2023-12-12 11:10:39 +08:00
DarkSun
ca60883c37 选题[news]: 20231211 Linux Mint 21.3 Beta Will Let You Try Cinnamon 6.0 Now!
sources/news/20231211 Linux Mint 21.3 Beta Will Let You Try Cinnamon 6.0 Now.md
2023-12-12 05:20:59 +08:00
DarkSun
395125a091 选题[tech]: 20231211 Creating and Working with Links in Obsidian
sources/tech/20231211 Creating and Working with Links in Obsidian.md
2023-12-12 05:03:10 +08:00
Xingyu.Wang
b1b1d1a5bd Merge pull request #30620 from wxy/20231129-PeerTube-Gets-Better-Features-Than-YouTube-With-Version-6-Release
RP:published/20231129 PeerTube Gets Better Features Than YouTube With Version 6 Release.md
2023-12-11 16:31:03 +08:00
Xingyu Wang
aa1c21a601 RP
@geekpi
https://linux.cn/article-16460-1.html
2023-12-11 16:22:16 +08:00
Xingyu.Wang
5d4cef1ca9 Merge pull request #30619 from wxy/20231201-Fedora-Linux-Flatpak-cool-apps-to-try-for-December.md
RP:published/20231201 Fedora Linux Flatpak cool apps to try for December.md
2023-12-10 17:56:19 +08:00
Xingyu Wang
3ea03f0d6d RP
@geekpi
https://linux.cn/article-16457-1.html
2023-12-10 17:41:02 +08:00
Xingyu.Wang
20f90e8160 Merge pull request #30618 from wxy/20231208-The-Blue-Screen-of-Death-Comes-to-Linux,-Thanks-to-Systemd
R:published/20231208 The Blue Screen of Death Comes to Linux, Thanks to Systemd.md
2023-12-10 17:13:40 +08:00
Xingyu Wang
bfaa712b86 R 2023-12-10 17:10:33 +08:00
Xingyu.Wang
d9d8597c29 Merge pull request #30617 from wxy/20231205-Zorin-OS-17-is-Redefining-the-Visual-Experience-in-a-Linux-Distro
RP:published/20231205 Zorin OS 17 is Redefining the Visual Experience in a Linux Distro.md
2023-12-10 17:08:50 +08:00
Xingyu Wang
2953e7e30f RP
@geekpi
https://linux.cn/article-16456-1.html
2023-12-10 17:03:09 +08:00
Xingyu.Wang
c8fc5b8faa Merge pull request #30616 from toknow-gh/ai-5
Translating
2023-12-10 16:41:11 +08:00
Xingyu.Wang
8e1d0a9870 Merge pull request #30615 from toknow-gh/ai-4
Translated
2023-12-10 16:40:54 +08:00
toknow-gh
61f09c4da7 Translating
tech/20221228 AI- Anaconda and More on Probability.md
2023-12-10 11:02:46 +08:00
toknow-gh
5a9ce5b798 Translated
talk/20230102 AI- An Introduction to Probability.md
2023-12-10 10:58:57 +08:00
Xingyu.Wang
4d9e08f327 Merge pull request #30614 from lujun9972/add-MjAyMzEyMDkgSmFtaS0gQSBWZXJzYXRpbGUgT3Blbi1Tb3VyY2UgRGlzdHJpYnV0ZWQgQ29tbXVuaWNhdGlvbiBBcHAubWQK
自动选题[tech]: 20231209 Jami: A Versatile Open-Source Distributed Communication App
2023-12-10 10:18:41 +08:00
DarkSun
655415996f 选题[tech]: 20231209 Jami: A Versatile Open-Source Distributed Communication App
sources/tech/20231209 Jami- A Versatile Open-Source Distributed Communication App.md
2023-12-10 05:03:14 +08:00
Xingyu.Wang
e059786e65 Merge pull request #30613 from wxy/20220510-My-open-source-journey-with-C-from-a-neurodiverse-perspective
RP:published/20220510 My open source journey with C from a neurodiverse perspective.md
2023-12-09 10:47:43 +08:00
Xingyu Wang
d01c87adbd RP
@CanYellow
https://linux.cn/article-16454-1.html
感谢你翻译这篇文章,我专门去查阅了神经多样性。
2023-12-09 10:43:26 +08:00
Xingyu.Wang
078b941a61 Merge pull request #30612 from wxy/20231208-The-Blue-Screen-of-Death-Comes-to-Linux,-Thanks-to-Systemd
ATRP:published/20231208 The Blue Screen of Death Comes to Linux, Thanks to Systemd.md
2023-12-09 09:24:58 +08:00
Xingyu Wang
2337fd25a6 ATRP
@wxy
https://linux.cn/article-16453-1.html
2023-12-09 09:19:29 +08:00
Xingyu.Wang
aa94752a72 Merge pull request #30611 from lujun9972/add-MjAyMzEyMDggVGhlIEJsdWUgU2NyZWVuIG9mIERlYXRoIENvbWVzIHRvIExpbnV4LCBUaGFua3MgdG8gU3lzdGVtZC5tZAo=
自动选题[news]: 20231208 The Blue Screen of Death Comes to Linux, Thanks to Systemd
2023-12-09 08:45:56 +08:00
Xingyu.Wang
9b259dc5e9 Merge pull request #30610 from lujun9972/add-MjAyMzEyMDggQXJtYmlhbiAyMy4xMSBSZWxlYXNlIFN1cHBvcnRzIE5ldyBCb2FyZHMgQW5kIEFkZHMgTmV3IE9TIEJ1aWxkcy5tZAo=
自动选题[news]: 20231208 Armbian 23.11 Release Supports New Boards And Adds New OS Builds
2023-12-09 08:45:34 +08:00
Xingyu.Wang
7b987ff0db Merge pull request #30609 from Drwhooooo/newone222
Update 20221017.4 ️ Why you should consider Rexx for scripting.md
2023-12-09 08:45:14 +08:00
DarkSun
f071744366 选题[news]: 20231208 The Blue Screen of Death Comes to Linux, Thanks to Systemd
sources/news/20231208 The Blue Screen of Death Comes to Linux, Thanks to Systemd.md
2023-12-09 05:21:05 +08:00
DarkSun
8d499b9d69 选题[news]: 20231208 Armbian 23.11 Release Supports New Boards And Adds New OS Builds
sources/news/20231208 Armbian 23.11 Release Supports New Boards And Adds New OS Builds.md
2023-12-09 05:20:53 +08:00
Xiaoyan Zhang
cc9a72723f Update 20221017.4 ️ Why you should consider Rexx for scripting.md
提交译文
2023-12-09 00:09:23 +08:00
Xingyu.Wang
f1d7125e51 Merge pull request #30605 from lujun9972/add-MjAyMzEyMDcgS2FsaSBMaW51eCAyMDIzLjQgUmVsZWFzZSBBZGRzIFJhc3BiZXJyeSBQaSA1IFN1cHBvcnQgV2l0aCBHTk9NRSA0NS5tZAo=
自动选题[news]: 20231207 Kali Linux 2023.4 Release Adds Raspberry Pi 5 Support With GNOME 45
2023-12-08 19:21:54 +08:00
Xingyu.Wang
f3a61e1ec6 Merge pull request #30603 from Drwhooooo/newlinux
Update and rename 20221107.2 ️ Build your own SaaS on Linux with…
2023-12-08 19:21:23 +08:00
geekpi
621f04206a Merge pull request #30608 from geekpi/translating
translating
2023-12-08 09:15:45 +08:00
geekpi
42be98c214 translating 2023-12-08 09:15:11 +08:00
geekpi
10cef806bb Merge pull request #30607 from geekpi/translating
translated
2023-12-08 09:12:40 +08:00
geekpi
e67efd78ea translated 2023-12-08 09:10:19 +08:00
DarkSun
3914355df2 选题[news]: 20231207 Kali Linux 2023.4 Release Adds Raspberry Pi 5 Support With GNOME 45
sources/news/20231207 Kali Linux 2023.4 Release Adds Raspberry Pi 5 Support With GNOME 45.md
2023-12-08 05:03:37 +08:00
Xiaoyan Zhang
d15697b528 Update and rename 20221107.2 ️ Build your own SaaS on Linux with Vely.md to 20221107.2 ️ Build your own SaaS on Linux with Vely.md
提交译文
2023-12-08 03:48:17 +08:00
Xingyu.Wang
9c1b7b849c Merge pull request #30602 from wxy/20231101-Confusing-git-terminology
ATRP:20231101 confusing git terminology
2023-12-07 20:13:44 +08:00
Xingyu Wang
7dfcc28bee RP
@wxy
https://linux.cn/article-16451-1.html
2023-12-07 20:08:08 +08:00
Xingyu.Wang
05fe55203b Merge pull request #30601 from wxy/20231202-A-Sleek-Looking-Linux-App-to-Manage-Your-Personal-Finance
RP:published/20231202 A Sleek-Looking Linux App to Manage Your Personal Finance.md
2023-12-07 13:38:04 +08:00
Xingyu Wang
00b7caa3ba RP
@GlassFoxowo-Dev
https://linux.cn/article-16449-1.html
恭喜升级为二星贡献者
2023-12-07 10:34:06 +08:00
geekpi
44df872d14 Merge pull request #30600 from geekpi/translating
translating
2023-12-07 08:57:17 +08:00
geekpi
3b833cf911 translating 2023-12-07 08:56:02 +08:00
geekpi
7f2d864da6 Merge pull request #30599 from geekpi/translating
translated
2023-12-07 08:47:08 +08:00
geekpi
c46d8fe237 translated 2023-12-07 08:45:59 +08:00
Xingyu.Wang
89515678b1 Merge pull request #30598 from lujun9972/add-MjAyMzEyMDYgLUFJIEFsbGlhbmNlLSBmb3IgT3BlbiBJbm5vdmF0aW9uIEZvcm1lZCBCeSBJQk0gYW5kIE1ldGEgV2l0aCBJbnRlbCwgQU1ELCBhbmQgTW9yZS5tZAo=
自动选题[news]: 20231206 'AI Alliance' for Open Innovation Formed By IBM and Meta With Intel, AMD, and More
2023-12-07 08:06:09 +08:00
Xingyu.Wang
f105a53de2 Merge pull request #30597 from GlassFoxowo-Dev/TRANSLATING
Update:Translation Completed.
2023-12-07 08:05:39 +08:00
Xingyu.Wang
04a53d6909 Merge pull request #30596 from CanYellow/14Trans
14Trans request
2023-12-07 08:04:59 +08:00
Xingyu.Wang
f9622218fc Merge pull request #30595 from CanYellow/13Trans
13 trans finished
2023-12-07 08:04:35 +08:00
DarkSun
4b0e0c31ff 选题[news]: 20231206 'AI Alliance' for Open Innovation Formed By IBM and Meta With Intel, AMD, and More
sources/news/20231206 -AI Alliance- for Open Innovation Formed By IBM and Meta With Intel, AMD, and More.md
2023-12-07 05:19:07 +08:00
GlassFoxowo
09b2110b8c Merge branch 'LCTT:master' into TRANSLATING 2023-12-07 02:51:27 +08:00
GlassFoxowo
553d2daa6f Update:Translation Completed. 2023-12-07 02:50:46 +08:00
CanYellow
1945aadfa1 14Trans request 2023-12-06 20:34:46 +08:00
Bright Huang
be50f2fc04 finished 2023-12-06 20:25:30 +08:00
Bright Huang
57be4061c9 finished 2023-12-06 20:17:34 +08:00
Xingyu.Wang
1b283980a7 Merge pull request #30594 from wxy/20231201-Godot-4.2-Released--Taking-The-Open-Source-Game-Engine-Up-a-Notch
RP:published/20231201 Godot 4.2 Released- Taking The Open-Source Game Engine Up a Notch.md
2023-12-06 16:27:16 +08:00
Xingyu Wang
2d4ed3577c RP
@geekpi
https://linux.cn/article-16447-1.html
2023-12-06 16:25:35 +08:00
Xingyu Wang
760d563e57 AT 2023-12-06 15:42:58 +08:00
Xingyu.Wang
bae4dbd996 Merge pull request #30593 from wxy/20231203-5-Most-Privacy-Focused-Web-Browsers
ATRP:published/20231203 5 Most Privacy Focused Web Browsers.md
2023-12-06 10:46:45 +08:00
geekpi
1f097836c4 Merge pull request #30592 from geekpi/translating
translating
2023-12-06 08:50:20 +08:00
geekpi
39df952da1 translating 2023-12-06 08:48:19 +08:00
geekpi
d9b97178c9 Merge pull request #30591 from geekpi/translating
translated
2023-12-06 08:45:01 +08:00
geekpi
0bb5e73eff translated 2023-12-06 08:44:23 +08:00
Xingyu Wang
46d78eb2e3 ATRP
@wxy
https://linux.cn/article-16445-1.html
2023-12-06 06:18:25 +08:00
Xingyu.Wang
3f6cae0d01 Merge pull request #30590 from lujun9972/add-MjAyMzEyMDUgWm9yaW4gT1MgMTcgaXMgUmVkZWZpbmluZyB0aGUgVmlzdWFsIEV4cGVyaWVuY2UgaW4gYSBMaW51eCBEaXN0cm8ubWQK
自动选题[news]: 20231205 Zorin OS 17 is Redefining the Visual Experience in a Linux Distro
2023-12-06 05:24:00 +08:00
Xingyu.Wang
6e9a966202 Merge pull request #30589 from lujun9972/add-MjAyMzEyMDQgTW91bnRpbmcgZ2l0IGNvbW1pdHMgYXMgZm9sZGVycyB3aXRoIE5GUy5tZAo=
自动选题[tech]: 20231204 Mounting git commits as folders with NFS
2023-12-06 05:23:40 +08:00
Xingyu.Wang
20a3cd7613 Merge pull request #30588 from lujun9972/add-MjAyMzEyMDQgQSBXZWIgQXBwbGljYXRpb24gRmlyZXdhbGwgZm9yIE5naW54Lm1kCg==
自动选题[tech]: 20231204 A Web Application Firewall for Nginx
2023-12-06 05:23:15 +08:00
Xingyu.Wang
6660fc80d0 Merge pull request #30587 from lujun9972/add-MjAyMzEyMDQgSG93IHRvIEluc3RhbGwgRG9ja2VyIG9uIFVidW50dS5tZAo=
自动选题[tech]: 20231204 How to Install Docker on Ubuntu
2023-12-06 05:15:16 +08:00
Xingyu.Wang
03ca023594 Merge pull request #30586 from lujun9972/add-MjAyMzEyMDUgNyBTdWRvIFRpcHMgYW5kIFR3ZWFrcyBmb3IgTGludXggVXNlcnMubWQK
自动选题[tech]: 20231205 7 Sudo Tips and Tweaks for Linux Users
2023-12-06 05:14:19 +08:00
Xingyu.Wang
0ae116ad4c Merge pull request #30585 from GlassFoxowo-Dev/TRANSLATING
TRANSLATING: 20231202 A Sleek-Looking Linux App to Manage Your Personal Finance.md
2023-12-06 05:14:00 +08:00
DarkSun
c3a13fd7e6 选题[news]: 20231205 Zorin OS 17 is Redefining the Visual Experience in a Linux Distro
sources/news/20231205 Zorin OS 17 is Redefining the Visual Experience in a Linux Distro.md
2023-12-06 05:04:50 +08:00
DarkSun
aac4263ee2 选题[tech]: 20231204 Mounting git commits as folders with NFS
sources/tech/20231204 Mounting git commits as folders with NFS.md
2023-12-06 05:04:36 +08:00
DarkSun
f11e6a632d 选题[tech]: 20231204 A Web Application Firewall for Nginx
sources/tech/20231204 A Web Application Firewall for Nginx.md
2023-12-06 05:03:47 +08:00
DarkSun
2dfe09c189 选题[tech]: 20231204 How to Install Docker on Ubuntu
sources/tech/20231204 How to Install Docker on Ubuntu.md
2023-12-06 05:03:28 +08:00
DarkSun
69e4374efb 选题[tech]: 20231205 7 Sudo Tips and Tweaks for Linux Users
sources/tech/20231205 7 Sudo Tips and Tweaks for Linux Users.md
2023-12-06 05:03:17 +08:00
GlassFoxowo
6e9c005482 TRANSLATING: 20231202 A Sleek-Looking Linux App to Manage Your Personal Finance.md 2023-12-06 02:59:23 +08:00
Xingyu.Wang
980d16e9f1 Merge pull request #30584 from wxy/20231129-Change-Keyboard-Layout-in-Ubuntu.md
RP:published/20231129 Change Keyboard Layout in Ubuntu.md
2023-12-05 16:08:27 +08:00
Xingyu Wang
1d1e17f123 RP
@geekpi
https://linux.cn/article-16442-1.html
2023-12-05 16:02:54 +08:00
Xingyu.Wang
b2ba9af794 Merge pull request #30583 from wxy/20231130-Cinnamon-6.0-Release-Debuts-Experimental-Wayland-Support
RP:published/20231130 Cinnamon 6.0 Release Debuts Experimental Wayland Support.md
2023-12-05 15:38:17 +08:00
geekpi
4be4118c21 Merge pull request #30582 from geekpi/translating
translating
2023-12-05 08:52:02 +08:00
geekpi
5df4babaf5 translating 2023-12-05 08:50:53 +08:00
geekpi
9aa8b8ed35 Merge pull request #30581 from geekpi/translating
translated
2023-12-05 08:46:42 +08:00
geekpi
e0b539daf5 translated 2023-12-05 08:44:24 +08:00
Xingyu Wang
e33c0b680c RP
@geekpi
https://linux.cn/article-16439-1.html
2023-12-04 16:46:21 +08:00
Xingyu.Wang
42cd50bc05 Merge pull request #30577 from lujun9972/add-MjAyMzEyMDMgNSBNb3N0IFByaXZhY3kgRm9jdXNlZCBXZWIgQnJvd3NlcnMubWQK
自动选题[tech]: 20231203 5 Most Privacy Focused Web Browsers
2023-12-04 09:14:37 +08:00
geekpi
5c035ca46d Merge pull request #30580 from geekpi/translating
translating
2023-12-04 08:53:21 +08:00
geekpi
221ca99333 translating 2023-12-04 08:52:51 +08:00
geekpi
6faa614db4 Merge pull request #30579 from geekpi/translating
translated
2023-12-04 08:48:14 +08:00
geekpi
cff92a3e69 translated 2023-12-04 08:46:36 +08:00
DarkSun
7b9d1ba1a6 选题[tech]: 20231203 5 Most Privacy Focused Web Browsers
sources/tech/20231203 5 Most Privacy Focused Web Browsers.md
2023-12-04 05:03:09 +08:00
Xingyu.Wang
a31c48dd8a Merge pull request #30576 from lujun9972/add-MjAyMzEyMDIgQSBTbGVlay1Mb29raW5nIExpbnV4IEFwcCB0byBNYW5hZ2UgWW91ciBQZXJzb25hbCBGaW5hbmNlLm1kCg==
自动选题[news]: 20231202 A Sleek-Looking Linux App to Manage Your Personal Finance
2023-12-03 15:46:45 +08:00
DarkSun
7675f8b53e 选题[news]: 20231202 A Sleek-Looking Linux App to Manage Your Personal Finance
sources/news/20231202 A Sleek-Looking Linux App to Manage Your Personal Finance.md
2023-12-03 05:03:55 +08:00
Xingyu.Wang
d63e731979 Merge pull request #30575 from wxy/20231201-Open-Source-Webmail-Roundcube-Joins-Nextcloud
ATRP:published/20231201 Open-Source Webmail Roundcube Joins Nextcloud.md
2023-12-02 22:37:12 +08:00
Xingyu Wang
e346ac7850 ATRP
@wxy
https://linux.cn/article-16437-1.html
2023-12-02 22:33:35 +08:00
Xingyu.Wang
186dd4e262 Merge pull request #30574 from wxy/20230727-AI--A-Few-More-Useful-Python-Libraries
RP:published/20230727 AI- A Few More Useful Python Libraries.md
2023-12-02 21:51:22 +08:00
Xingyu Wang
a5e22a259d RP
@toknow-gh
https://linux.cn/article-16436-1.html
2023-12-02 21:44:53 +08:00
Xingyu.Wang
848a369275 Merge pull request #30573 from wxy/20220907-Open-source-events--4-goals-to-set-and-how-to-measure-them
ATRP:published/20220907 Open source events- 4 goals to set and how to measure them.md
2023-12-02 12:09:40 +08:00
Xingyu Wang
23a5b04cac ATRP
@wxy
https://linux.cn/article-16434-1.html
2023-12-02 12:03:02 +08:00
Xingyu.Wang
84c7397a6e Merge pull request #30572 from lujun9972/add-MjAyMzEyMDEgR29kb3QgNC4yIFJlbGVhc2VkLSBUYWtpbmcgVGhlIE9wZW4tU291cmNlIEdhbWUgRW5naW5lIFVwIGEgTm90Y2gubWQK
自动选题[news]: 20231201 Godot 4.2 Released: Taking The Open-Source Game Engine Up a Notch
2023-12-02 10:41:55 +08:00
Xingyu.Wang
7d29b5de43 Merge pull request #30571 from lujun9972/add-MjAyMzEyMDEgT3Blbi1Tb3VyY2UgV2VibWFpbCBSb3VuZGN1YmUgSm9pbnMgTmV4dGNsb3VkLm1kCg==
自动选题[news]: 20231201 Open-Source Webmail Roundcube Joins Nextcloud
2023-12-02 10:40:49 +08:00
Xingyu.Wang
052dd58918 Merge pull request #30570 from lujun9972/add-MjAyMzEyMDEgRmVkb3JhIExpbnV4IEZsYXRwYWsgY29vbCBhcHBzIHRvIHRyeSBmb3IgRGVjZW1iZXIubWQK
自动选题[tech]: 20231201 Fedora Linux Flatpak cool apps to try for December
2023-12-02 10:40:19 +08:00
Xingyu.Wang
241f50fa68 Merge pull request #30569 from lujun9972/add-MjAyMzEyMDEgR2V0dGluZyBTdGFydGVkIFdpdGggVWJ1bnR1Lm1kCg==
自动选题[tech]: 20231201 Getting Started With Ubuntu
2023-12-02 10:39:58 +08:00
DarkSun
072039589f 选题[news]: 20231201 Godot 4.2 Released: Taking The Open-Source Game Engine Up a Notch
sources/news/20231201 Godot 4.2 Released- Taking The Open-Source Game Engine Up a Notch.md
2023-12-02 05:04:53 +08:00
DarkSun
cf027144eb 选题[news]: 20231201 Open-Source Webmail Roundcube Joins Nextcloud
sources/news/20231201 Open-Source Webmail Roundcube Joins Nextcloud.md
2023-12-02 05:04:42 +08:00
DarkSun
f4c92f94a9 选题[tech]: 20231201 Fedora Linux Flatpak cool apps to try for December
sources/tech/20231201 Fedora Linux Flatpak cool apps to try for December.md
2023-12-02 05:03:42 +08:00
DarkSun
380181ef44 选题[tech]: 20231201 Getting Started With Ubuntu
sources/tech/20231201 Getting Started With Ubuntu.md
2023-12-02 05:03:20 +08:00
Xingyu.Wang
1032258fc4 Merge pull request #30568 from wxy/20231129-AUR-Helper-Paru-2.0-Upgrade-is-Here-With-Features-for-Power-Users
ATRP:published/20231129 AUR Helper Paru 2.0 Upgrade is Here With Features for Power Users.md
2023-12-01 23:02:27 +08:00
Xingyu Wang
0818d3d392 ATRP
@wxy
https://linux.cn/article-16433-1.html
2023-12-01 22:44:15 +08:00
geekpi
6e75296b2c Merge pull request #30567 from geekpi/translating
translating
2023-12-01 09:02:40 +08:00
geekpi
a5010a463d translating 2023-12-01 08:57:49 +08:00
geekpi
828ca22cb2 Merge pull request #30566 from geekpi/translating
translated
2023-12-01 08:54:23 +08:00
geekpi
d1f6edfa40 translated 2023-12-01 08:53:01 +08:00
Xingyu.Wang
fa5f595437 Merge pull request #30565 from wxy/20231123-An-Interesting-CMS-With-Version-Control-is-Now-Open-Source
RP:published/20231123 An Interesting CMS With Version Control is Now Open-Source.md
2023-12-01 08:23:25 +08:00
Xingyu Wang
70d2ce50a3 RP
@geekpi
https://linux.cn/article-16431-1.html
2023-12-01 08:14:12 +08:00
Xingyu.Wang
c7d56a732f Merge pull request #30564 from lujun9972/add-MjAyMzExMzAgQ2lubmFtb24gNi4wIFJlbGVhc2UgRGVidXRzIEV4cGVyaW1lbnRhbCBXYXlsYW5kIFN1cHBvcnQubWQK
自动选题[news]: 20231130 Cinnamon 6.0 Release Debuts Experimental Wayland Support!
2023-12-01 07:53:49 +08:00
DarkSun
12c12a78ec 选题[news]: 20231130 Cinnamon 6.0 Release Debuts Experimental Wayland Support!
sources/news/20231130 Cinnamon 6.0 Release Debuts Experimental Wayland Support.md
2023-12-01 05:19:13 +08:00
Xingyu Wang
7fb7069b57 归档 202311 2023-12-01 00:53:28 +08:00
Xingyu.Wang
60368129ea Merge pull request #30562 from wxy/20231123-git-branches--intuition---reality
ATRP:published/20231123 git branches- intuition - reality.md
2023-12-01 00:47:57 +08:00
Xingyu Wang
dab07be9eb ATRP
@wxy
https://linux.cn/article-16430-1.html
2023-12-01 00:43:15 +08:00
Xingyu.Wang
9545ba8abd Merge pull request #30561 from wxy/20231128-Fractal-5--Linux-Matrix-Messaging-App-Level-Up-with-GTK-4-and-Rust-SDK
RP:published/20231128 Fractal 5- Linux Matrix Messaging App Level-Up with GTK 4 and Rust SDK.md
2023-11-30 17:55:30 +08:00
Xingyu Wang
626ddd65f0 RP
@geekpi
https://linux.cn/article-16429-1.html
2023-11-30 17:50:08 +08:00
geekpi
82bea3aa27 Merge pull request #30560 from geekpi/translating
translating
2023-11-30 08:41:37 +08:00
geekpi
4ab998fe36 translating 2023-11-30 08:40:24 +08:00
geekpi
56e1f4fb4f Merge pull request #30559 from geekpi/translating
translated
2023-11-30 08:38:27 +08:00
geekpi
a22242fd69 translated 2023-11-30 08:36:58 +08:00
Xingyu.Wang
418338d81d Merge pull request #30558 from wxy/20231119-LibreOffice-Alternatives-for-Linux.md
RP:published/20231119 LibreOffice Alternatives for Linux.md
2023-11-30 08:17:12 +08:00
Xingyu Wang
6d6154bbea RP
@geekpi
https://linux.cn/article-16427-1.html
2023-11-30 08:12:54 +08:00
Xingyu.Wang
219f150d69 Merge pull request #30557 from lujun9972/add-MjAyMzExMjkgUGVlclR1YmUgR2V0cyBCZXR0ZXIgRmVhdHVyZXMgVGhhbiBZb3VUdWJlIFdpdGggVmVyc2lvbiA2IFJlbGVhc2UubWQK
自动选题[news]: 20231129 PeerTube Gets Better Features Than YouTube With Version 6 Release
2023-11-30 07:42:41 +08:00
Xingyu.Wang
f6b573adc4 Merge pull request #30556 from lujun9972/add-MjAyMzExMjkgQVVSIEhlbHBlciBQYXJ1IDIuMCBVcGdyYWRlIGlzIEhlcmUgV2l0aCBGZWF0dXJlcyBmb3IgUG93ZXIgVXNlcnMubWQK
自动选题[news]: 20231129 AUR Helper Paru 2.0 Upgrade is Here With Features for Power Users
2023-11-30 07:42:24 +08:00
Xingyu.Wang
14bf6f8018 Merge pull request #30555 from lujun9972/add-MjAyMzExMjkgU2VhcmNoaW5nIGZvciBwYWNrYWdlcyB3aXRoIOKAmHJwbS1vc3RyZWUgc2VhcmNoLm1kCg==
自动选题[tech]: 20231129 Searching for packages with ‘rpm-ostree search’
2023-11-30 07:41:33 +08:00
Xingyu.Wang
05911c86af Merge pull request #30554 from lujun9972/add-MjAyMzExMjkgQ2hhbmdlIEtleWJvYXJkIExheW91dCBpbiBVYnVudHUubWQK
自动选题[tech]: 20231129 Change Keyboard Layout in Ubuntu
2023-11-30 07:41:11 +08:00
Xingyu.Wang
c8b4805b09 Merge pull request #30553 from toknow-gh/ai-4
Translating
2023-11-30 07:40:54 +08:00
Xingyu.Wang
6cc857cb17 Merge pull request #30552 from toknow-gh/ai-3
Translated
2023-11-30 07:40:38 +08:00
DarkSun
50f90b19a7 选题[news]: 20231129 PeerTube Gets Better Features Than YouTube With Version 6 Release
sources/news/20231129 PeerTube Gets Better Features Than YouTube With Version 6 Release.md
2023-11-30 05:03:55 +08:00
DarkSun
10d2144804 选题[news]: 20231129 AUR Helper Paru 2.0 Upgrade is Here With Features for Power Users
sources/news/20231129 AUR Helper Paru 2.0 Upgrade is Here With Features for Power Users.md
2023-11-30 05:03:44 +08:00
DarkSun
5745d45641 选题[tech]: 20231129 Searching for packages with ‘rpm-ostree search’
sources/tech/20231129 Searching for packages with ‘rpm-ostree search.md
2023-11-30 05:03:26 +08:00
DarkSun
a18a37cc2b 选题[tech]: 20231129 Change Keyboard Layout in Ubuntu
sources/tech/20231129 Change Keyboard Layout in Ubuntu.md
2023-11-30 05:03:08 +08:00
toknow-gh
1f884131d8 Translating
talk/20230102 AI- An Introduction to Probability.md
2023-11-29 23:36:17 +08:00
toknow-gh
fd2cda7c71 Translated
tech/20230727 AI- A Few More Useful Python Libraries.md
2023-11-29 23:13:57 +08:00
geekpi
fc2642cf55 Merge pull request #30551 from geekpi/translating
translating
2023-11-29 08:58:38 +08:00
geekpi
44f20b805d translating 2023-11-29 08:57:50 +08:00
geekpi
e735d6e205 Merge pull request #30550 from geekpi/translating
translated
2023-11-29 08:56:44 +08:00
geekpi
be06bbd574 translated 2023-11-29 08:55:52 +08:00
Xingyu.Wang
89ae92d975 Merge pull request #30548 from wxy/20231120-HandBrake-1.7-Release--A-Meaningful-Update-for-This-Year
RP:published/20231120 HandBrake 1.7 Release- A Meaningful Update for This Year.md
2023-11-29 08:51:11 +08:00
Xingyu Wang
ce5dbfa63c RP
@geekpi
https://linux.cn/article-16425-1.html
2023-11-29 08:48:00 +08:00
Xingyu.Wang
7c8bd0668d Merge pull request #30547 from wxy/20231128-Microsoft-is-Locking-Down-Search-for-Public-Code-on-GitHub
ATRP:published/20231128 Microsoft is Locking Down Search for Public Code on GitHub.md
2023-11-29 08:35:18 +08:00
Xingyu Wang
64b02b2a7b R 2023-11-29 08:32:56 +08:00
Xingyu Wang
f90aba0261 ATRP
@wxy
https://linux.cn/article-16424-1.html
2023-11-29 08:30:17 +08:00
Xingyu.Wang
0f2ffab412 Merge pull request #30546 from lujun9972/add-MjAyMzExMjggRnJhY3RhbCA1LSBMaW51eCBNYXRyaXggTWVzc2FnaW5nIEFwcCBMZXZlbC1VcCB3aXRoIEdUSyA0IGFuZCBSdXN0IFNESy5tZAo=
自动选题[news]: 20231128 Fractal 5: Linux Matrix Messaging App Level-Up with GTK 4 and Rust SDK
2023-11-29 08:09:51 +08:00
Xingyu.Wang
db26e66265 Merge pull request #30545 from lujun9972/add-MjAyMzExMjggTWljcm9zb2Z0IGlzIExvY2tpbmcgRG93biBTZWFyY2ggZm9yIFB1YmxpYyBDb2RlIG9uIEdpdEh1Yi5tZAo=
自动选题[news]: 20231128 Microsoft is Locking Down Search for Public Code on GitHub
2023-11-29 08:09:32 +08:00
DarkSun
33871f40e7 选题[news]: 20231128 Fractal 5: Linux Matrix Messaging App Level-Up with GTK 4 and Rust SDK
sources/news/20231128 Fractal 5- Linux Matrix Messaging App Level-Up with GTK 4 and Rust SDK.md
2023-11-29 05:19:17 +08:00
DarkSun
ab73f959a7 选题[news]: 20231128 Microsoft is Locking Down Search for Public Code on GitHub
sources/news/20231128 Microsoft is Locking Down Search for Public Code on GitHub.md
2023-11-29 05:19:06 +08:00
geekpi
4f0fb289b2 Merge pull request #30544 from geekpi/translating
translating
2023-11-28 09:02:02 +08:00
geekpi
45cb594531 translating 2023-11-28 09:01:18 +08:00
geekpi
4c3ba25c80 Merge pull request #30543 from geekpi/translating
translated
2023-11-28 08:51:24 +08:00
geekpi
0f5579fe6c translated 2023-11-28 08:49:17 +08:00
Xingyu.Wang
1ff53b1ca1 Merge pull request #30541 from lujun9972/add-MjAyMzExMjcgUGlwZVdpcmUgMS4wIC0gQW4gaW50ZXJ2aWV3IHdpdGggUGlwZVdpcmUgY3JlYXRvciBXaW0gVGF5bWFucy5tZAo=
自动选题[tech]: 20231127 PipeWire 1.0 – An interview with PipeWire creator Wim Taymans
2023-11-28 07:28:24 +08:00
Xingyu.Wang
d586066aaa Rename 20231127 PipeWire 1.0 - An interview with PipeWire creator Wim Taymans.md to 20231127 PipeWire 1.0 - An interview with PipeWire creator Wim Taymans.md 2023-11-28 07:27:01 +08:00
Xingyu.Wang
97f4892e40 Merge pull request #30542 from wxy/20231018-Fun-With-Cmatrix-in-Linux
ATRP:published/20231018 Fun With Cmatrix in Linux.md
2023-11-28 07:25:07 +08:00
Xingyu Wang
89ca914b9b ATRP
@wxy
https://linux.cn/article-16422-1.html
2023-11-28 07:22:54 +08:00
DarkSun
19068e214d 选题[tech]: 20231127 PipeWire 1.0 – An interview with PipeWire creator Wim Taymans
sources/tech/20231127 PipeWire 1.0 - An interview with PipeWire creator Wim Taymans.md
2023-11-28 05:03:15 +08:00
Xingyu.Wang
46ba4e3376 Merge pull request #30540 from wxy/20231124-Building-RHEL-and-RHEL-UBI-images-with-mkosi.md
RP:published/20231124 Building RHEL and RHEL UBI images with mkosi.md
2023-11-27 23:27:31 +08:00
Xingyu Wang
49bfc1b3b2 RP
@GlassFoxowo-Dev
https://linux.cn/article-16421-1.html
2023-11-27 23:25:16 +08:00
geekpi
1cd7bd407c Merge pull request #30539 from geekpi/translating
translating
2023-11-27 09:19:22 +08:00
geekpi
5e4b59d641 translating 2023-11-27 09:18:40 +08:00
geekpi
ba811d993f Merge pull request #30538 from geekpi/translating
translated
2023-11-27 09:17:32 +08:00
geekpi
bad07c1c0c translated 2023-11-27 09:16:17 +08:00
Xingyu.Wang
7de5406c03 Merge pull request #30537 from wxy/20231109-Fixing--target-not-found--Error-in-Arch-Linux
RP:20231109 fixing  target not found  error in arch linux
2023-11-27 00:04:06 +08:00
Xingyu Wang
71b382e54d RP 2023-11-27 00:01:12 +08:00
Xingyu Wang
28bf7ddfd3 RP
@geekpi
https://linux.cn/article-16419-1.html
2023-11-26 23:56:54 +08:00
Xingyu.Wang
dccb1de0ab Merge pull request #30536 from wxy/20231125-rlxOS--An-Indepdent-Immutable-Linux-Distro-With-Xfce-Desktop
ATRP:published/20231125 rlxOS- An Indepdent Immutable Linux Distro With Xfce Desktop.md
2023-11-26 17:59:11 +08:00
Xingyu Wang
1867376390 ATRP
@wxy
https://linux.cn/article-16415-1.html
2023-11-26 17:52:45 +08:00
Xingyu Wang
59499173aa 过期新闻 2023-11-26 17:21:24 +08:00
Xingyu.Wang
1f882c7ee8 Merge pull request #30535 from wxy/20231031-Install-VSCodium-on-Fedora
RP:published/20231031 Install VSCodium on Fedora.md
2023-11-26 13:50:11 +08:00
Xingyu Wang
03ae5da3ec RP
@geekpi
https://linux.cn/article-16414-1.html
2023-11-26 13:48:48 +08:00
Xingyu.Wang
10b4176046 Merge pull request #30534 from lujun9972/add-MjAyMzExMjUgcmx4T1MtIEFuIEluZGVwZGVudCBJbW11dGFibGUgTGludXggRGlzdHJvIFdpdGggWGZjZSBEZXNrdG9wLm1kCg==
自动选题[news]: 20231125 rlxOS: An Indepdent Immutable Linux Distro With Xfce Desktop
2023-11-26 12:14:03 +08:00
Xingyu.Wang
35fb79eec3 Merge pull request #30533 from GlassFoxowo-Dev/TRANSLATING
Update: Translation Completed "20231124 Building RHEL and RHEL UBI images with mkosi.md"
2023-11-26 12:13:27 +08:00
DarkSun
b85c882dc1 选题[news]: 20231125 rlxOS: An Indepdent Immutable Linux Distro With Xfce Desktop
sources/news/20231125 rlxOS- An Indepdent Immutable Linux Distro With Xfce Desktop.md
2023-11-26 05:20:46 +08:00
GlassFoxowo
24702ff3e7 Update: Translation Completed 2023-11-26 01:54:44 +08:00
GlassFoxowo
406bde8175 TRANSLATING: 20231124 Building RHEL and RHEL UBI images with mkosi.md 2023-11-25 20:48:00 +08:00
Xingyu.Wang
6d43788771 Merge pull request #30532 from wxy/20231122-8-Open-Source-Password-Managers-to-Enhance-Your-Privacy-Game
R:published/20231122 8 Open Source Password Managers to Enhance Your Privacy Game.md
2023-11-25 17:02:13 +08:00
Xingyu Wang
061e24b78b R 2023-11-25 17:00:22 +08:00
Xingyu.Wang
03e6f37f37 Merge pull request #30531 from lujun9972/add-MjAyMzExMjQgQnVpbGRpbmcgUkhFTCBhbmQgUkhFTCBVQkkgaW1hZ2VzIHdpdGggbWtvc2kubWQK
自动选题[tech]: 20231124 Building RHEL and RHEL UBI images with mkosi
2023-11-25 13:01:38 +08:00
DarkSun
a1eaa25d50 选题[tech]: 20231124 Building RHEL and RHEL UBI images with mkosi
sources/tech/20231124 Building RHEL and RHEL UBI images with mkosi.md
2023-11-25 05:03:52 +08:00
Xingyu.Wang
c47ada7b0c Merge pull request #30530 from wxy/20231122-8-Open-Source-Password-Managers-to-Enhance-Your-Privacy-Game
ATRP:published/20231122 8 Open Source Password Managers to Enhance Your Privacy Game.md
2023-11-24 22:56:41 +08:00
Xingyu Wang
f8901702b9 ATRP
@wxy
https://linux.cn/article-16412-1.html
2023-11-24 22:54:59 +08:00
Xingyu.Wang
3b05274dd7 Merge pull request #30529 from wxy/20231107-Rename-Files-and-Directories-in-Linux-Command-Line.md
RP:published/20231107 Rename Files and Directories in Linux Command Line.md
2023-11-24 22:02:01 +08:00
Xingyu Wang
1c98e99bc6 RP
@geekpi
https://linux.cn/article-16411-1.html
2023-11-24 21:56:06 +08:00
Xingyu.Wang
a54a905b5c Merge pull request #30528 from wxy/20231123-Wave--A-Modern-New-Linux-Terminal-that-You-ll-Love-if-You-Hate-Command-Line
ATRP:wxy:20231123-Wave--A-Modern-New-Linux-Terminal-that-You-ll-Love-if-You-Hate-Command-Line
2023-11-24 16:51:34 +08:00
Xingyu Wang
77a0b275cf R 2023-11-24 16:49:59 +08:00
Xingyu Wang
ab5825cc24 ATRP
@wxy
https://linux.cn/article-16409-1.html
2023-11-24 16:44:59 +08:00
Xingyu.Wang
2154d5fd2b Merge pull request #30527 from wxy/20231121-EndeavourOS-Galileo--Xfce-Out,-KDE-In
RP:20231121 endeavour os galileo  xfce out, kde in
2023-11-24 15:40:21 +08:00
Xingyu Wang
a8c9332482 P
@GlassFoxowo-Dev
本文首发地址:https://linux.cn/article-16408-1.htm
也会同步发布到知乎、公众号
您的 LCTT 专页:https://linux.cn/lctt/GlassFoxowo-Dev
2023-11-24 15:14:09 +08:00
Xingyu Wang
535e4089f3 R
@GlassFoxowo-Dev
感谢您,完成了第一篇翻译贡献!
2023-11-24 15:12:51 +08:00
Xingyu.Wang
e248d871ed Merge pull request #30523 from lujun9972/add-MjAyMzExMjMgQW4gSW50ZXJlc3RpbmcgQ01TIFdpdGggVmVyc2lvbiBDb250cm9sIGlzIE5vdyBPcGVuLVNvdXJjZS5tZAo=
自动选题[news]: 20231123 An Interesting CMS With Version Control is Now Open-Source!
2023-11-24 09:25:12 +08:00
Xingyu.Wang
579815e175 Merge pull request #30522 from lujun9972/add-MjAyMzExMjMgV2F2ZS0gQSBNb2Rlcm4gTmV3IExpbnV4IFRlcm1pbmFsIHRoYXQgWW91LWxsIExvdmUgaWYgWW91IEhhdGUgQ29tbWFuZCBMaW5lLm1kCg==
自动选题[news]: 20231123 Wave: A Modern New Linux Terminal that You'll Love if You Hate Command Line
2023-11-24 09:24:48 +08:00
Xingyu.Wang
f6fecd6aa2 Merge pull request #30521 from lujun9972/add-MjAyMzExMjMgZ2l0IGJyYW5jaGVzLSBpbnR1aXRpb24gLSByZWFsaXR5Lm1kCg==
自动选题[tech]: 20231123 git branches: intuition & reality
2023-11-24 09:24:29 +08:00
Xingyu.Wang
a1851dd6d4 Merge pull request #30524 from GlassFoxowo-Dev/TRANSLATING
Update: News "EndeavourOS Galileo: Xfce Out, KDE In" has been translated.
2023-11-24 09:24:00 +08:00
geekpi
a1eaff2195 Merge pull request #30526 from geekpi/translating
translating
2023-11-24 09:13:53 +08:00
geekpi
3e1b993564 translating 2023-11-24 09:12:01 +08:00
geekpi
aa3436aea2 Merge pull request #30525 from geekpi/translating
Translating
2023-11-24 09:09:57 +08:00
geekpi
d7a8ba06a9 translated 2023-11-24 09:09:13 +08:00
geekpi
f886332647 translating 2023-11-24 09:08:04 +08:00
DarkSun
94bb093869 选题[news]: 20231123 An Interesting CMS With Version Control is Now Open-Source!
sources/news/20231123 An Interesting CMS With Version Control is Now Open-Source.md
2023-11-24 05:19:17 +08:00
DarkSun
3f9cf54117 选题[news]: 20231123 Wave: A Modern New Linux Terminal that You'll Love if You Hate Command Line
sources/news/20231123 Wave- A Modern New Linux Terminal that You-ll Love if You Hate Command Line.md
2023-11-24 05:19:06 +08:00
DarkSun
ec58eced41 选题[tech]: 20231123 git branches: intuition & reality
sources/tech/20231123 git branches- intuition - reality.md
2023-11-24 05:18:53 +08:00
GlassFoxowo
e4c3fa68a6 Update: Translated 2023-11-23 15:37:11 +08:00
GlassFoxowo
3864d1fa78 translating: Update 20231121 EndeavourOS Galileo- Xfce Out, KDE In.md 2023-11-23 14:18:26 +08:00
Xingyu.Wang
b01cd4a5c4 Merge pull request #30518 from wxy/20231113-FIDO2-for-centrally-managed-users.md
RP:published/20231113 FIDO2 for centrally managed users.md
2023-11-23 09:55:13 +08:00
Xingyu Wang
7912977e19 RP
@wxy
https://linux.cn/article-16406-1.html
2023-11-23 09:52:49 +08:00
Xingyu.Wang
97408d137f Merge pull request #30515 from lujun9972/add-MjAyMzExMjIgOCBPcGVuIFNvdXJjZSBQYXNzd29yZCBNYW5hZ2VycyB0byBFbmhhbmNlIFlvdXIgUHJpdmFjeSBHYW1lLm1kCg==
自动选题[tech]: 20231122 8 Open Source Password Managers to Enhance Your Privacy Game
2023-11-23 08:52:31 +08:00
geekpi
b8380e2f85 Merge pull request #30517 from geekpi/translating
translating
2023-11-23 08:49:05 +08:00
geekpi
e9ffffe01a translating 2023-11-23 08:48:35 +08:00
geekpi
99f697e529 Merge pull request #30516 from geekpi/translating
Translating
2023-11-23 08:46:28 +08:00
geekpi
6659e4f1d9 translating 2023-11-23 08:45:57 +08:00
geekpi
ece447ff8e translating 2023-11-23 08:44:58 +08:00
DarkSun
efa427ba74 选题[tech]: 20231122 8 Open Source Password Managers to Enhance Your Privacy Game
sources/tech/20231122 8 Open Source Password Managers to Enhance Your Privacy Game.md
2023-11-23 05:03:10 +08:00
Xingyu.Wang
869db0cb43 Merge pull request #30514 from wxy/20231118-Enabling-Bluetooth-on-Arch-Linux
R:published/20231118 Enabling Bluetooth on Arch Linux.md
2023-11-23 01:35:03 +08:00
Xingyu Wang
bebc4b026b R 2023-11-23 01:33:37 +08:00
geekpi
215f3311a6 Merge pull request #30513 from geekpi/translating
translating
2023-11-22 09:25:47 +08:00
geekpi
3a13260fcb translating 2023-11-22 09:25:15 +08:00
geekpi
b936bb6afc Merge pull request #30512 from geekpi/translating
translated
2023-11-22 09:22:00 +08:00
geekpi
505b6ace24 translated 2023-11-22 09:20:16 +08:00
Xingyu.Wang
221f5d99ff Merge pull request #30511 from lujun9972/add-MjAyMzExMjEgRW5kZWF2b3VyT1MgR2FsaWxlby0gWGZjZSBPdXQsIEtERSBJbi5tZAo=
自动选题[news]: 20231121 EndeavourOS Galileo: Xfce Out, KDE In
2023-11-22 07:45:50 +08:00
Xingyu.Wang
d8bc54efa2 Merge pull request #30510 from lujun9972/add-MjAyMzExMjEgU28sIEdvb2dsZSBXYW50cyBGaXJlZm94IFVzZXJzIHRvIEhhdmUgYSBQb29yIFlvdVR1YmUgRXhwZXJpZW5jZS5tZAo=
自动选题[news]: 20231121 So, Google Wants Firefox Users to Have a Poor YouTube Experience?
2023-11-22 07:44:05 +08:00
DarkSun
46d26bd921 选题[news]: 20231121 EndeavourOS Galileo: Xfce Out, KDE In
sources/news/20231121 EndeavourOS Galileo- Xfce Out, KDE In.md
2023-11-22 05:03:36 +08:00
DarkSun
615c7ec637 选题[news]: 20231121 So, Google Wants Firefox Users to Have a Poor YouTube Experience?
sources/news/20231121 So, Google Wants Firefox Users to Have a Poor YouTube Experience.md
2023-11-22 05:03:25 +08:00
Xingyu.Wang
89d87e1315 Merge pull request #30509 from wxy/20231120-What-is-Super-Key-in-Linux.md
ATRP:published/20231120 What is Super Key in Linux.md
2023-11-21 21:32:00 +08:00
Xingyu Wang
eb8a1f91e7 ATRP
@wxy
https://linux.cn/article-16404-1.html
2023-11-21 21:21:57 +08:00
Xingyu.Wang
1531784f8a Merge pull request #30508 from wxy/20231118-Enabling-Bluetooth-on-Arch-Linux
RP:published/20231118 Enabling Bluetooth on Arch Linux.md
2023-11-21 20:21:37 +08:00
Xingyu Wang
ffb4d53062 RP
@geekpi
https://linux.cn/article-16403-1.html
2023-11-21 20:17:29 +08:00
Xingyu.Wang
f04a0fb733 Merge pull request #30507 from wxy/20231101-Fedora-Linux-Flatpak-cool-apps-to-try-for-November.md
RP:published/20231101 Fedora Linux Flatpak cool apps to try for November.md
2023-11-21 19:51:22 +08:00
Xingyu.Wang
d2c0b9b009 Merge pull request #30504 from lujun9972/add-MjAyMzExMjAgSGFuZEJyYWtlIDEuNyBSZWxlYXNlLSBBIE1lYW5pbmdmdWwgVXBkYXRlIGZvciBUaGlzIFllYXIubWQK
自动选题[news]: 20231120 HandBrake 1.7 Release: A Meaningful Update for This Year
2023-11-21 09:16:07 +08:00
Xingyu.Wang
fa77f29b65 Merge pull request #30503 from lujun9972/add-MjAyMzExMjAgV2hhdCBpcyBTdXBlciBLZXkgaW4gTGludXgubWQK
自动选题[tech]: 20231120 What is Super Key in Linux?
2023-11-21 09:15:30 +08:00
geekpi
32fccf8f04 Merge pull request #30502 from toknow-gh/ai-3
Translating
2023-11-21 08:50:24 +08:00
geekpi
b3c5edf0e5 Merge pull request #30506 from geekpi/translating
translating
2023-11-21 08:50:04 +08:00
geekpi
30a8ee821d translating 2023-11-21 08:49:31 +08:00
geekpi
0c293b8df3 Merge pull request #30505 from geekpi/translating
translated
2023-11-21 08:46:18 +08:00
geekpi
4f18d1f4f9 translated 2023-11-21 08:41:24 +08:00
DarkSun
c1c740b568 选题[news]: 20231120 HandBrake 1.7 Release: A Meaningful Update for This Year
sources/news/20231120 HandBrake 1.7 Release- A Meaningful Update for This Year.md
2023-11-21 05:03:41 +08:00
DarkSun
6604d5aea4 选题[tech]: 20231120 What is Super Key in Linux?
sources/tech/20231120 What is Super Key in Linux.md
2023-11-21 05:03:17 +08:00
Xingyu Wang
c1a36dea4e RP
@geekpi
https://linux.cn/article-16401-1.html
2023-11-20 21:14:40 +08:00
toknow-gh
cad2c3493e Translating
tech/20230727 AI- A Few More Useful Python Libraries.md
2023-11-20 20:24:32 +08:00
Xingyu.Wang
e1a35373ad Merge pull request #30501 from wxy/20220629-AI--Some-History-and-a-Lot-More-about-Matrices
RP:published/20220629 AI- Some History and a Lot More about Matrices.md
2023-11-20 15:10:02 +08:00
Xingyu.Wang
afb5e3646f Merge pull request #30499 from lujun9972/add-MjAyMzEwMDkgQ29xIGFuZCBMZWFuLSBQb3dlcmZ1bCBJbnRlcmFjdGl2ZSBUaGVvcmVtIFByb3ZlcnMubWQK
选题[tech]: 20231009 Coq and Lean: Powerful Interactive Theorem Provers
2023-11-20 15:09:51 +08:00
Xingyu.Wang
33f021f66d Merge pull request #30498 from lujun9972/add-MjAyMzA3MTAgQUktIEJleW9uZCBQeXRob24ubWQK
选题[tech]: 20230710 AI: Beyond Python
2023-11-20 15:09:35 +08:00
Xingyu.Wang
39d50bd6a0 Merge pull request #30497 from lujun9972/add-MjAyMzA2MjYgQUktIENsYXNzaWNhbCBUZWNobmlxdWVzIGFuZCBIaWRkZW4gUHl0aG9uIEdlbXMubWQK
选题[tech]: 20230626 AI: Classical Techniques and Hidden Python Gems
2023-11-20 15:09:21 +08:00
Xingyu.Wang
71a5492429 Merge pull request #30496 from lujun9972/add-MjAyMzA1MTUgQUktIEludHJvZHVjdGlvbiB0byBDb21wdXRlciBWaXNpb24ubWQK
选题[tech]: 20230515 AI: Introduction to Computer Vision
2023-11-20 15:09:05 +08:00
Xingyu.Wang
5a21d7c8d1 Merge pull request #30500 from lujun9972/add-MjAyMjEyMjggQUktIEFuYWNvbmRhIGFuZCBNb3JlIG9uIFByb2JhYmlsaXR5Lm1kCg==
选题[tech]: 20221228 AI: Anaconda and More on Probability
2023-11-20 15:08:43 +08:00
Xingyu.Wang
a396c990eb Merge pull request #30495 from lujun9972/add-MjAyMzA0MTcgQUktIEFuIEludHJvZHVjdGlvbiB0byBOYXR1cmFsIExhbmd1YWdlIFByb2Nlc3NpbmcubWQK
选题[tech]: 20230417 AI: An Introduction to Natural Language Processing
2023-11-20 15:08:24 +08:00
Xingyu.Wang
0ece7b4602 Merge pull request #30494 from lujun9972/add-MjAyMzAzMDEgQUktIE1vcmUgQWJvdXQgTmV1cmFsIE5ldHdvcmtzIGFuZCBhbiBJbnRyb2R1Y3Rpb24gdG8gUHlUb3JjaC5tZAo=
选题[tech]: 20230301 AI: More About Neural Networks and an Introduction…
2023-11-20 15:08:06 +08:00
Xingyu.Wang
7a55030a2c Merge pull request #30493 from lujun9972/add-MjAyMzAxMDIgQUktIEFuIEludHJvZHVjdGlvbiB0byBQcm9iYWJpbGl0eS5tZAo=
选题[talk]: 20230102 AI: An Introduction to Probability
2023-11-20 15:07:48 +08:00
Xingyu.Wang
bbd9ad7820 Merge pull request #30492 from lujun9972/add-MjAyMzAyMDggQUktIEFuIEludHJvZHVjdGlvbiB0byBTY2lraXQtbGVhcm4gYW5kIE91ciBGaXJzdCBUcmFpbmVkIE1vZGVsLm1kCg==
选题[tech]: 20230208 AI: An Introduction to Scikit-learn and Our First …
2023-11-20 15:07:16 +08:00
Xingyu.Wang
7b74fa7cf8 Merge pull request #30491 from lujun9972/add-MjAyMzAxMTYgQUktIEludHJvZHVjdGlvbiB0byBLZXJhcyBhbmQgT3VyIEZpcnN0IERhdGEgU2V0Lm1kCg==
选题[tech]: 20230116 AI: Introduction to Keras and Our First Data Set
2023-11-20 15:06:54 +08:00
Xingyu Wang
46f071981b RP
@toknow-gh
https://linux.cn/article-16399-1.html
2023-11-20 15:05:37 +08:00
DarkSun
06512bd653 选题[tech]: 20221228 AI: Anaconda and More on Probability
sources/tech/20221228 AI- Anaconda and More on Probability.md
2023-11-20 14:25:50 +08:00
DarkSun
2f13db9861 选题[tech]: 20231009 Coq and Lean: Powerful Interactive Theorem Provers
sources/tech/20231009 Coq and Lean- Powerful Interactive Theorem Provers.md
2023-11-20 14:24:40 +08:00
DarkSun
744bc2d91a 选题[tech]: 20230710 AI: Beyond Python
sources/tech/20230710 AI- Beyond Python.md
2023-11-20 14:23:53 +08:00
DarkSun
b3f9cb99cb 选题[tech]: 20230626 AI: Classical Techniques and Hidden Python Gems
sources/tech/20230626 AI- Classical Techniques and Hidden Python Gems.md
2023-11-20 14:23:19 +08:00
DarkSun
391a60dc5b 选题[tech]: 20230515 AI: Introduction to Computer Vision
sources/tech/20230515 AI- Introduction to Computer Vision.md
2023-11-20 14:22:49 +08:00
DarkSun
609281f8f2 选题[tech]: 20230417 AI: An Introduction to Natural Language Processing
sources/tech/20230417 AI- An Introduction to Natural Language Processing.md
2023-11-20 14:21:57 +08:00
DarkSun
0546c27f2e 选题[tech]: 20230301 AI: More About Neural Networks and an Introduction to PyTorch
sources/tech/20230301 AI- More About Neural Networks and an Introduction to PyTorch.md
2023-11-20 14:21:11 +08:00
DarkSun
7db2e321ca 选题[tech]: 20230208 AI: An Introduction to Scikit-learn and Our First Trained Model
sources/tech/20230208 AI- An Introduction to Scikit-learn and Our First Trained Model.md
2023-11-20 14:20:43 +08:00
DarkSun
6133cbd1ea 选题[tech]: 20230116 AI: Introduction to Keras and Our First Data Set
sources/tech/20230116 AI- Introduction to Keras and Our First Data Set.md
2023-11-20 14:20:10 +08:00
DarkSun
0aa2e694cb 选题[talk]: 20230102 AI: An Introduction to Probability
sources/talk/20230102 AI- An Introduction to Probability.md
2023-11-20 14:19:00 +08:00
Xingyu.Wang
19705ff8c9 Merge pull request #30490 from lujun9972/add-MjAyMzA3MjcgQUktIEEgRmV3IE1vcmUgVXNlZnVsIFB5dGhvbiBMaWJyYXJpZXMubWQK
选题[tech]: 20230727 AI: A Few More Useful Python Libraries
2023-11-20 13:25:00 +08:00
DarkSun
ecf6f425d5 选题[tech]: 20230727 AI: A Few More Useful Python Libraries
sources/tech/20230727 AI- A Few More Useful Python Libraries.md
2023-11-20 10:09:33 +08:00
geekpi
f53c5f6408 Merge pull request #30489 from geekpi/translating
translating
2023-11-20 08:49:38 +08:00
geekpi
46c5184753 translating 2023-11-20 08:49:03 +08:00
geekpi
eccbc88159 Merge pull request #30488 from geekpi/translating
translated
2023-11-20 08:46:55 +08:00
geekpi
3e98e17fdc translated 2023-11-20 08:36:21 +08:00
Xingyu.Wang
52c8050028 Merge pull request #30486 from lujun9972/add-MjAyMzExMTkgTGlicmVPZmZpY2UgQWx0ZXJuYXRpdmVzIGZvciBMaW51eC5tZAo=
自动选题[tech]: 20231119 LibreOffice Alternatives for Linux
2023-11-20 07:57:10 +08:00
Xingyu.Wang
f68f610020 Merge pull request #30487 from wxy/20220901-Are-You-Familiar-with-These-Popular-Open-Source-Databases-
R:published/20220901 Are You Familiar with These Popular  Open Source Databases-.md
2023-11-20 07:53:49 +08:00
Xingyu Wang
e16f771b74 R 2023-11-20 07:52:13 +08:00
DarkSun
8261036e9f 选题[tech]: 20231119 LibreOffice Alternatives for Linux
sources/tech/20231119 LibreOffice Alternatives for Linux.md
2023-11-20 05:03:06 +08:00
Xingyu.Wang
42b6ada045 Merge pull request #30485 from wxy/20221024.5-️-Remixing-Linux-for-blind-and-visually-impaired-users
ATRP:published/20221024.5 ️ Remixing Linux for blind and visually impaired users.md
2023-11-19 21:36:55 +08:00
Xingyu Wang
a7f22c74b1 ATRP
@wxy
https://linux.cn/article-16397-1.html
2023-11-19 21:34:13 +08:00
Xingyu.Wang
53206982c8 Merge pull request #30484 from wxy/20231113-FIDO2-for-centrally-managed-users
AT:sources/tech/20231113 FIDO2 for centrally managed users.md
2023-11-19 20:54:59 +08:00
Xingyu Wang
79eef9cc80 AT 2023-11-19 20:53:40 +08:00
Xingyu.Wang
7a9dbb7495 Merge pull request #30483 from lujun9972/add-MjAyMzExMTggRW5hYmxpbmcgQmx1ZXRvb3RoIG9uIEFyY2ggTGludXgubWQK
自动选题[tech]: 20231118 Enabling Bluetooth on Arch Linux
2023-11-19 20:22:32 +08:00
DarkSun
74f9b22b97 选题[tech]: 20231118 Enabling Bluetooth on Arch Linux
sources/tech/20231118 Enabling Bluetooth on Arch Linux.md
2023-11-19 05:03:05 +08:00
Xingyu.Wang
2ac2e04b19 Merge pull request #30482 from wxy/20231114-Install-the-Latest-Calibre-on-Ubuntu
ATRP:published/20231114 Install the Latest Calibre on Ubuntu.md
2023-11-18 12:15:34 +08:00
Xingyu Wang
87762349fe ATRP
@wxy
https://linux.cn/article-16394-1.html
2023-11-18 12:14:34 +08:00
Xingyu.Wang
ed46ad7f75 Merge pull request #30481 from wxy/20231115-Linux-eBook-Reader-Foliate-3.0-Upgrade--Improves-UX-With-GTK-4-Port.md
ATRP:20231115 linux e book reader foliate 3.0 upgrade  improves ux with gtk 4 port.md
2023-11-18 12:10:35 +08:00
Xingyu Wang
4e0809466e Revert "ATRP"
This reverts commit dd87a793f9.
2023-11-18 12:09:01 +08:00
Xingyu Wang
dd87a793f9 ATRP
@wxy
https://linux.cn/article-16394-1.html
2023-11-18 12:03:55 +08:00
Xingyu Wang
5e84ef7600 ATRP
@wxy
https://linux.cn/article-16393-1.html
2023-11-18 11:39:39 +08:00
Xingyu.Wang
5cc2670055 Merge pull request #30479 from wxy/20231115-Writing-useful-terminal-TUI-on-Linux-with-dialog-and-jq
ATRP:20231115 writing useful terminal t UI on linux with dialog and jq
2023-11-18 07:23:24 +08:00
Xingyu Wang
b98804b811 R 2023-11-18 07:20:30 +08:00
Xingyu Wang
2ff41832f2 ATRP
@wxy
https://linux.cn/article-16391-1.html
2023-11-18 07:16:15 +08:00
Xingyu.Wang
2e6da405d5 Merge pull request #30477 from lujun9972/add-MjAyMzExMTcgTWFzdGVyaW5nIEpvcGxpbiBOb3Rlcy0gOCBUaXBzIGFuZCBUd2Vha3MubWQK
自动选题[tech]: 20231117 Mastering Joplin Notes: 8 Tips and Tweaks
2023-11-18 06:44:23 +08:00
DarkSun
27805e4088 选题[tech]: 20231117 Mastering Joplin Notes: 8 Tips and Tweaks
sources/tech/20231117 Mastering Joplin Notes- 8 Tips and Tweaks.md
2023-11-18 05:03:11 +08:00
Xingyu.Wang
c45c1f0a53 Merge pull request #30476 from lujun9972/add-MjAyMzExMTYgQWN0dWFsLSBBbiBPcGVuLVNvdXJjZSBQcml2YWN5LUZyaWVuZGx5IFBlcnNvbmFsIEZpbmFuY2UgQXBwLm1kCg==
自动选题[news]: 20231116 Actual: An Open-Source Privacy-Friendly Personal Finance App
2023-11-17 23:38:58 +08:00
DarkSun
a896818860 选题[news]: 20231116 Actual: An Open-Source Privacy-Friendly Personal Finance App
sources/news/20231116 Actual- An Open-Source Privacy-Friendly Personal Finance App.md
2023-11-17 05:03:35 +08:00
Xingyu.Wang
2b0cc678fe Merge pull request #30474 from wxy/20231115-Blender-4.0-Release-Arrives-With-Game-Changing-Rendering-Upgrades
ATRP:published/20231115 Blender 4.0 Release Arrives With Game-Changing Rendering Upgrades.md
2023-11-16 16:04:40 +08:00
Xingyu Wang
b686b03143 ATRP
@wxy
https://linux.cn/article-16388-1.html
2023-11-16 16:00:04 +08:00
Xingyu.Wang
c118d050fd Merge pull request #30473 from wxy/20231114-OBS-Studio-30.0--Linux-Edition---No-More-Ubuntu-20.04,-Yes-to-AV1
ATRP:published/20231114 OBS Studio 30.0- Linux Edition - No More Ubuntu 20.04, Yes to AV1.md
2023-11-16 15:21:21 +08:00
Xingyu Wang
4f49b8fc34 ATRP
@wxy
https://linux.cn/article-16387-1.html
2023-11-16 15:18:41 +08:00
Xingyu.Wang
333424b4c1 Merge pull request #30472 from wxy/20220113-An-open-source-developer-s-guide-to-12-Factor-App-methodology.md
RP:published/20220113 An open source developer-s guide to 12-Factor App methodology.md
2023-11-16 13:00:06 +08:00
Xingyu Wang
cff099ae26 RP
@trisbestever
感谢您,完成了第一篇翻译贡献。
本文首发地址:https://linux.cn/article-16386-1.html
也会同步发布到知乎和公众号。
您的 LCTT 专页:https://linux.cn/lctt/trisbestever
2023-11-16 12:47:40 +08:00
Xingyu.Wang
6b1a55c0f2 Merge pull request #30471 from lujun9972/add-MjAyMzExMTUgTGludXggZUJvb2sgUmVhZGVyIEZvbGlhdGUgMy4wIFVwZ3JhZGUtIEltcHJvdmVzIFVYIFdpdGggR1RLIDQgUG9ydC5tZAo=
自动选题[news]: 20231115 Linux eBook Reader Foliate 3.0 Upgrade: Improves UX With GTK 4 Port
2023-11-16 12:02:17 +08:00
Xingyu.Wang
43be1f629b Merge pull request #30470 from lujun9972/add-MjAyMzExMTUgQmxlbmRlciA0LjAgUmVsZWFzZSBBcnJpdmVzIFdpdGggR2FtZS1DaGFuZ2luZyBSZW5kZXJpbmcgVXBncmFkZXMubWQK
自动选题[news]: 20231115 Blender 4.0 Release Arrives With Game-Changing Rendering Upgrades
2023-11-16 12:02:01 +08:00
Xingyu.Wang
de0e87d0f0 Merge pull request #30469 from lujun9972/add-MjAyMzExMTUgV3JpdGluZyB1c2VmdWwgdGVybWluYWwgVFVJIG9uIExpbnV4IHdpdGggZGlhbG9nIGFuZCBqcS5tZAo=
自动选题[tech]: 20231115 Writing useful terminal TUI on Linux with dialog and jq
2023-11-16 12:01:39 +08:00
DarkSun
9dd39cf20d 选题[news]: 20231115 Linux eBook Reader Foliate 3.0 Upgrade: Improves UX With GTK 4 Port
sources/news/20231115 Linux eBook Reader Foliate 3.0 Upgrade- Improves UX With GTK 4 Port.md
2023-11-16 05:03:59 +08:00
DarkSun
26233b3200 选题[news]: 20231115 Blender 4.0 Release Arrives With Game-Changing Rendering Upgrades
sources/news/20231115 Blender 4.0 Release Arrives With Game-Changing Rendering Upgrades.md
2023-11-16 05:03:47 +08:00
DarkSun
7375e09037 选题[tech]: 20231115 Writing useful terminal TUI on Linux with dialog and jq
sources/tech/20231115 Writing useful terminal TUI on Linux with dialog and jq.md
2023-11-16 05:03:30 +08:00
Xingyu.Wang
d9d5336df6 Merge pull request #30467 from wxy/A-few-bytes-here,-a-few-there,-pretty-soon-you’re-talking-real-memory.md
RP:published/A few bytes here, a few there, pretty soon you’re talking real memory.md
2023-11-15 15:52:58 +08:00
Xingyu Wang
859dfa282d RP
@Drwhooooo
https://linux.cn/article-16381-1.html
2023-11-15 15:51:00 +08:00
Xingyu.Wang
1db13a32fb Merge pull request #30466 from lujun9972/add-MjAyMzExMTQgT0JTIFN0dWRpbyAzMC4wLSBMaW51eCBFZGl0aW9uIC0gTm8gTW9yZSBVYnVudHUgMjAuMDQsIFllcyB0byBBVjEubWQK
自动选题[news]: 20231114 OBS Studio 30.0: Linux Edition - No More Ubuntu 20.04, Yes to AV1
2023-11-15 14:56:37 +08:00
Xingyu.Wang
504566c6c4 Merge pull request #30465 from lujun9972/add-MjAyMzExMTQgU29tZSBub3RlcyBvbiBuaXggZmxha2VzLm1kCg==
自动选题[tech]: 20231114 Some notes on nix flakes
2023-11-15 14:55:21 +08:00
Xingyu.Wang
9f504d341b Merge pull request #30464 from lujun9972/add-MjAyMzExMTQgSW5zdGFsbCB0aGUgTGF0ZXN0IENhbGlicmUgb24gVWJ1bnR1Lm1kCg==
自动选题[tech]: 20231114 Install the Latest Calibre on Ubuntu
2023-11-15 14:55:05 +08:00
DarkSun
8a30660803 选题[news]: 20231114 OBS Studio 30.0: Linux Edition - No More Ubuntu 20.04, Yes to AV1
sources/news/20231114 OBS Studio 30.0- Linux Edition - No More Ubuntu 20.04, Yes to AV1.md
2023-11-15 05:20:50 +08:00
DarkSun
34a2f4a225 选题[tech]: 20231114 Some notes on nix flakes
sources/tech/20231114 Some notes on nix flakes.md
2023-11-15 05:20:37 +08:00
DarkSun
6b4b423f63 选题[tech]: 20231114 Install the Latest Calibre on Ubuntu
sources/tech/20231114 Install the Latest Calibre on Ubuntu.md
2023-11-15 05:03:09 +08:00
trisbestever
4610bde841 Update 20220113 An open source developer-s guide to 12-Factor App methodology.md (#30459)
* Update 20220113 An open source developer-s guide to 12-Factor App methodology.md

* Update 20220113 An open source developer-s guide to 12-Factor App methodology.md

* Update 20220113 An open source developer-s guide to 12-Factor App methodology.md

* Update 20220113 An open source developer-s guide to 12-Factor App methodology.md

* Update 20220113 An open source developer-s guide to 12-Factor App methodology.md

* Add files via upload

* Delete sources/talk/20220113 An open source developer-s guide to 12-Factor App methodology.md

* Update 20231019 Is This The Ultimate Video Streaming App.md

* Update 20231019 Is This The Ultimate Video Streaming App.md

* Update 20231019 Is This The Ultimate Video Streaming App.md

* Update 20231019 Is This The Ultimate Video Streaming App.md
2023-11-14 10:37:03 +08:00
Xingyu.Wang
4b33e44ec4 Merge pull request #30463 from wxy/20231110-How-git-cherry-pick-and-revert-use-3-way-merge
ATRP:published/20231110 How git cherry-pick and revert use 3-way merge.md
2023-11-14 10:35:58 +08:00
Xingyu Wang
9503c8dc1e ATRP
@wxy
https://linux.cn/article-16378-1.html
2023-11-14 10:33:33 +08:00
Xingyu.Wang
d74996a2af Merge pull request #30461 from lujun9972/add-MjAyMzExMTMgRklETzIgZm9yIGNlbnRyYWxseSBtYW5hZ2VkIHVzZXJzLm1kCg==
自动选题[tech]: 20231113 FIDO2 for centrally managed users
2023-11-14 09:37:05 +08:00
Xingyu.Wang
bb97316b84 Merge pull request #30460 from toknow-gh/ai-2
Translated
2023-11-14 09:36:34 +08:00
DarkSun
4e5c396487 选题[tech]: 20231113 FIDO2 for centrally managed users
sources/tech/20231113 FIDO2 for centrally managed users.md
2023-11-14 05:03:26 +08:00
toknow-gh
1f85d4be28 Translated
tech/20220629 AI- Some History and a Lot More about Matrices.md
2023-11-14 00:33:09 +08:00
Xingyu.Wang
43f75277ff Merge pull request #30458 from wxy/20231111-New-Fedora-Slimbook-14--joins-the-Fedora-Slimbook-16
ATRP:published/20231111 New Fedora Slimbook 14- joins the Fedora Slimbook 16.md
2023-11-13 22:45:26 +08:00
Xingyu Wang
43a5990088 ATRP
@wxy
https://linux.cn/article-16377-1.html
2023-11-13 22:42:04 +08:00
Xingyu.Wang
f6b4eff5ae Merge pull request #30457 from wxy/20220901-Are-You-Familiar-with-These-Popular-Open-Source-Databases-
R:published/20220901 Are You Familiar with These Popular  Open Source Databases-.md
2023-11-13 22:29:33 +08:00
Xingyu Wang
0b2d955dab R 2023-11-13 22:26:07 +08:00
Xingyu.Wang
1a720b1212 Merge pull request #30455 from wxy/20231109-elementary-OS-8-Details-Revealed
ATRP:published/20231109 elementary OS 8 Details Revealed.md
2023-11-13 15:52:38 +08:00
Xingyu Wang
6677f333b7 ATRP
@wxy
https://linux.cn/article-16375-1.html
2023-11-13 15:50:02 +08:00
Xingyu.Wang
d8b03aca7b Merge pull request #30454 from wxy/20220901-Are-You-Familiar-with-These-Popular-Open-Source-Databases-
RP:published/20220901 Are You Familiar with These Popular  Open Source Databases-.md
2023-11-13 09:30:50 +08:00
Xingyu Wang
d5ea13afde RP
@toknow-gh
https://linux.cn/article-16374-1.html
2023-11-13 09:26:10 +08:00
Xingyu.Wang
3805242a7d Merge pull request #30453 from toknow-gh/db
Translated
2023-11-12 20:53:42 +08:00
toknow-gh
5af3595603 Translated
tech/20220901 Are You Familiar with These Popular  Open Source Databases-.md
2023-11-12 17:16:28 +08:00
Xingyu.Wang
0027a43a90 Merge pull request #30452 from wxy/20230928-4-Incredibly-Simple-Ways-to-Customize-Budgie-Desktop-in-Linux
R:published/20230928 4 Incredibly Simple Ways to Customize Budgie Desktop in Linux.md
2023-11-12 16:21:37 +08:00
Xingyu Wang
d02f6c9f6e R 2023-11-12 16:18:32 +08:00
Xingyu.Wang
1749b75cb3 Merge pull request #30451 from wxy/20230928-4-Incredibly-Simple-Ways-to-Customize-Budgie-Desktop-in-Linux
RP:published/20230928 4 Incredibly Simple Ways to Customize Budgie Desktop in Linux.md
2023-11-12 16:11:06 +08:00
Xingyu.Wang
9a03d1e09b Merge pull request #30450 from Drwhooooo/newlinux
Update 20221107.2 ️ Build your own SaaS on Linux with Vely.md
2023-11-12 16:09:54 +08:00
Xingyu Wang
588063039a RP
@Drwhooooo
文章挺长,辛苦了。但是用语不够准确,需改进。
2023-11-12 16:08:32 +08:00
Xiaoyan Zhang
629b629755 Update 20221107.2 ️ Build your own SaaS on Linux with Vely.md
申领译文
2023-11-12 16:02:39 +08:00
Xingyu.Wang
5cc69cd501 Merge pull request #30446 from Drwhooooo/oldarticle
Oldarticle
2023-11-12 14:23:46 +08:00
Xingyu.Wang
afcc388ad6 Merge pull request #30447 from lujun9972/add-MjAyMzExMTEgTmV3IEZlZG9yYSBTbGltYm9vayAxNC0gam9pbnMgdGhlIEZlZG9yYSBTbGltYm9vayAxNi5tZAo=
自动选题[tech]: 20231111 New Fedora Slimbook 14″ joins the Fedora Slimbook 16″
2023-11-12 12:06:44 +08:00
DarkSun
3ee352eed7 选题[tech]: 20231111 New Fedora Slimbook 14″ joins the Fedora Slimbook 16″
sources/tech/20231111 New Fedora Slimbook 14- joins the Fedora Slimbook 16.md
2023-11-12 05:20:32 +08:00
Xiaoyan Zhang
01815fc40e Create A few bytes here, a few there, pretty soon you’re talking real memory.md 2023-11-11 21:43:54 +08:00
Xiaoyan Zhang
18dfea6c12 Merge branch 'LCTT:master' into master 2023-11-11 16:21:59 +08:00
Xingyu.Wang
d65eec525e Merge pull request #30444 from wxy/20231108-How-to-rebase-to-Fedora-Linux-39-on-Silverblue
ATRP:published/20231108 How to rebase to Fedora Linux 39 on Silverblue.md
2023-11-11 15:33:16 +08:00
Xingyu Wang
19afe0dcc9 ATRP
@wxy
https://linux.cn/article-16369-1.html
2023-11-11 15:23:00 +08:00
Xiaoyan Zhang
a8a96efa93 Merge branch 'LCTT:master' into master 2023-11-11 15:00:41 +08:00
Xingyu.Wang
366ea33fa1 Merge pull request #30443 from wxy/20231110-Stunning-New-Steam-Deck-OLED-Unveiled
ATRP:published/20231110 Stunning New Steam Deck OLED Unveiled.md
2023-11-11 14:51:19 +08:00
Xingyu Wang
d1ea9651a9 ATRP
@wxy
https://linux.cn/article-16368-1.html
2023-11-11 14:47:27 +08:00
Xingyu.Wang
a7a3a04eaf Merge pull request #30442 from lujun9972/add-MjAyMzExMTAgU3R1bm5pbmcgTmV3IFN0ZWFtIERlY2sgT0xFRCBVbnZlaWxlZC5tZAo=
自动选题[news]: 20231110 Stunning New Steam Deck OLED Unveiled!
2023-11-11 14:32:10 +08:00
Xingyu.Wang
9f28160d37 Merge pull request #30441 from lujun9972/add-MjAyMzExMTAgSG93IGdpdCBjaGVycnktcGljayBhbmQgcmV2ZXJ0IHVzZSAzLXdheSBtZXJnZS5tZAo=
自动选题[tech]: 20231110 How git cherry-pick and revert use 3-way merge
2023-11-11 14:31:53 +08:00
Xingyu.Wang
d195a6f2d0 Merge pull request #30440 from Drwhooooo/123
译文提交
2023-11-11 14:30:42 +08:00
DarkSun
f48f24db0e 选题[news]: 20231110 Stunning New Steam Deck OLED Unveiled!
sources/news/20231110 Stunning New Steam Deck OLED Unveiled.md
2023-11-11 05:03:35 +08:00
DarkSun
68788669a6 选题[tech]: 20231110 How git cherry-pick and revert use 3-way merge
sources/tech/20231110 How git cherry-pick and revert use 3-way merge.md
2023-11-11 05:03:22 +08:00
Xiaoyan Zhang
790a31eac0 Merge branch 'LCTT:master' into master 2023-11-11 03:55:15 +08:00
Xiaoyan Zhang
6413de4c11 Merge pull request #2 from Drwhooooo/Drwhooooo-patch-1
Drwhooooo patch 1
2023-11-11 03:51:00 +08:00
Xiaoyan Zhang
c2f1913457 Rename 20230928 4 Incredibly Simple Ways to Customize Budgie Desktop in Linux.md to 20230928 4 Incredibly Simple Ways to Customize Budgie Desktop in Linux.md 2023-11-11 03:49:45 +08:00
Xiaoyan Zhang
7d27554ca3 Update 20231006 Using InfluxDB for time-series data analysis.md 2023-11-11 03:48:05 +08:00
Xiaoyan Zhang
6d810e522e Update 20230928 4 Incredibly Simple Ways to Customize Budgie Desktop in Linux.md
提交译文
2023-11-11 03:42:35 +08:00
Xingyu.Wang
3abb5ebbb3 Merge pull request #30439 from wxy/20231104-8-Websites-Linux-Users-Should-Have-bookmarked
ATRP:published/20231104 8 Websites Linux Users Should Have bookmarked.md
2023-11-10 11:27:23 +08:00
Xingyu Wang
24cc2938aa ATRP
@wxy
https://linux.cn/article-16366-1.html
2023-11-10 11:20:23 +08:00
Xingyu.Wang
83eb46ccaf Merge pull request #30438 from lujun9972/add-MjAyMzExMDkgZWxlbWVudGFyeSBPUyA4IERldGFpbHMgUmV2ZWFsZWQubWQK
自动选题[news]: 20231109 elementary OS 8 Details Revealed!
2023-11-10 10:08:29 +08:00
Xingyu.Wang
ff0c905a02 Merge pull request #30436 from lujun9972/add-MjAyMzExMDkgRml4aW5nIC10YXJnZXQgbm90IGZvdW5kLSBFcnJvciBpbiBBcmNoIExpbnV4Lm1kCg==
自动选题[tech]: 20231109 Fixing 'target not found' Error in Arch Linux
2023-11-10 10:08:04 +08:00
Xingyu.Wang
972255cd40 Merge pull request #30435 from toknow-gh/db
Translating
2023-11-10 08:51:25 +08:00
DarkSun
299cd77305 选题[news]: 20231109 elementary OS 8 Details Revealed!
sources/news/20231109 elementary OS 8 Details Revealed.md
2023-11-10 05:04:04 +08:00
DarkSun
425f2362c3 选题[tech]: 20231109 Fixing 'target not found' Error in Arch Linux
sources/tech/20231109 Fixing -target not found- Error in Arch Linux.md
2023-11-10 05:03:06 +08:00
Xiaoyan Zhang
919b703223 Merge branch 'LCTT:master' into master 2023-11-09 23:47:45 +08:00
toknow-gh
f87f2594af Translating
tech/20220901 Are You Familiar with These Popular  Open Source Databases-.md
2023-11-09 23:18:58 +08:00
Xingyu.Wang
457f82a422 Merge pull request #30434 from wxy/20231030-Install-Docker-on-Arch-Linux
RP:published/20231030 Install Docker on Arch Linux.md
2023-11-09 15:50:00 +08:00
Xingyu Wang
2ac48fdb3d RP
@geekpi
https://linux.cn/article-16363-1.html
2023-11-09 15:42:43 +08:00
Xingyu.Wang
c65e97f1bd Merge pull request #30433 from wxy/20231107-What-s-new-in-Fedora-Workstation-39.md
R:published/20231107 What-s new in Fedora Workstation 39.md
2023-11-09 15:12:31 +08:00
Xingyu Wang
8fe92e4038 R 2023-11-09 14:44:28 +08:00
Xingyu.Wang
e783d32be1 Merge pull request #30432 from wxy/20231107-What-s-new-in-Fedora-Workstation-39
ATRP:published/20231107 What-s new in Fedora Workstation 39.md
2023-11-09 14:37:11 +08:00
Xingyu Wang
e634a83c28 ATRP
@wxy
https://linux.cn/article-16362-1.html
2023-11-09 14:34:35 +08:00
Xingyu.Wang
b40f0d78ea Merge pull request #30431 from wxy/20231107-Fedora-39-Release-Debuts-With-a-New-Immutable-Variant
R:published/20231107 Fedora 39 Release Debuts With a New Immutable Variant.md
2023-11-09 07:34:42 +08:00
Xingyu.Wang
da8ec1060f Merge pull request #30430 from lujun9972/add-MjAyMzExMDggSG93IHRvIHJlYmFzZSB0byBGZWRvcmEgTGludXggMzkgb24gU2lsdmVyYmx1ZS5tZAo=
自动选题[tech]: 20231108 How to rebase to Fedora Linux 39 on Silverblue
2023-11-09 07:30:13 +08:00
Xingyu.Wang
3ca44e9a57 Merge pull request #30429 from lujun9972/add-MjAyMzExMDggVHJhY2tpbmcgQ2hhbmdlcyBhbmQgVmVyc2lvbiBNYW5hZ2VtZW50IHdpdGggTGlicmVPZmZpY2UubWQK
自动选题[tech]: 20231108 Tracking Changes and Version Management with LibreOffice
2023-11-09 07:29:31 +08:00
DarkSun
628fa3fe76 选题[tech]: 20231108 How to rebase to Fedora Linux 39 on Silverblue
sources/tech/20231108 How to rebase to Fedora Linux 39 on Silverblue.md
2023-11-09 05:03:28 +08:00
DarkSun
47d8b2d24a 选题[tech]: 20231108 Tracking Changes and Version Management with LibreOffice
sources/tech/20231108 Tracking Changes and Version Management with LibreOffice.md
2023-11-09 05:03:09 +08:00
Xingyu Wang
8cc7cccadf R 2023-11-08 20:17:59 +08:00
Xingyu.Wang
6b06f4e315 Merge pull request #30428 from wxy/20231107-Fedora-39-Release-Debuts-With-a-New-Immutable-Variant
ATRP:published/20231107 Fedora 39 Release Debuts With a New Immutable Variant.md
2023-11-08 16:12:55 +08:00
Xingyu Wang
db95545674 ATRP
@wxy
https://linux.cn/article-16360-1.html
2023-11-08 16:02:34 +08:00
Xingyu.Wang
a18f591b98 Merge pull request #30425 from lujun9972/add-MjAyMzExMDcgRmVkb3JhIDM5IFJlbGVhc2UgRGVidXRzIFdpdGggYSBOZXcgSW1tdXRhYmxlIFZhcmlhbnQubWQK
自动选题[news]: 20231107 Fedora 39 Release Debuts With a New Immutable Variant
2023-11-08 11:47:57 +08:00
Xingyu.Wang
1b46ca4a69 Merge pull request #30424 from lujun9972/add-MjAyMzExMDcgV2hhdC1zIG5ldyBpbiBGZWRvcmEgV29ya3N0YXRpb24gMzkubWQK
自动选题[tech]: 20231107 What’s new in Fedora Workstation 39
2023-11-08 11:46:40 +08:00
Xingyu.Wang
fed89751c6 Merge pull request #30422 from lujun9972/add-MjAyMzExMDcgUmVuYW1lIEZpbGVzIGFuZCBEaXJlY3RvcmllcyBpbiBMaW51eCBDb21tYW5kIExpbmUubWQK
自动选题[tech]: 20231107 Rename Files and Directories in Linux Command Line
2023-11-08 11:45:11 +08:00
DarkSun
49912ada50 选题[news]: 20231107 Fedora 39 Release Debuts With a New Immutable Variant
sources/news/20231107 Fedora 39 Release Debuts With a New Immutable Variant.md
2023-11-08 05:04:01 +08:00
DarkSun
d23aa45c0f 选题[tech]: 20231107 What’s new in Fedora Workstation 39
sources/tech/20231107 What-s new in Fedora Workstation 39.md
2023-11-08 05:03:43 +08:00
DarkSun
8721049403 选题[tech]: 20231107 Rename Files and Directories in Linux Command Line
sources/tech/20231107 Rename Files and Directories in Linux Command Line.md
2023-11-08 05:03:12 +08:00
Xingyu.Wang
8891b52927 Merge pull request #30421 from wxy/20231104-An-Open-Source-Web-Based-AI-Powered-Vector-Graphics-Editor--Wait,-What--.md
ATRP:published/20231104 An Open Source Web-Based AI-Powered Vector Graphics Editor- Wait, What- .md
2023-11-07 23:36:53 +08:00
Xingyu Wang
6d2820d023 ATRP
@wxy
https://linux.cn/article-16359-1.html
2023-11-07 23:33:59 +08:00
Xingyu.Wang
13f2e93f70 Merge pull request #30420 from wxy/20231026-Cut,-Copy-and-Paste-in-Vim
RP:published/20231026 Cut, Copy and Paste in Vim.md
2023-11-07 17:27:59 +08:00
Xingyu Wang
6b90c4a9f0 RP
@geekpi
https://linux.cn/article-16357-1.html
2023-11-07 17:25:16 +08:00
Xingyu.Wang
f631d68cf8 Merge pull request #30419 from lujun9972/add-MjAyMzExMDYgZ2l0IHJlYmFzZS0gd2hhdCBjYW4gZ28gd3JvbmcubWQK
自动选题[tech]: 20231106 git rebase: what can go wrong?
2023-11-07 14:19:25 +08:00
DarkSun
1426a03792 选题[tech]: 20231106 git rebase: what can go wrong?
sources/tech/20231106 git rebase- what can go wrong.md
2023-11-07 05:03:20 +08:00
Xingyu.Wang
9999ad253a Merge pull request #30418 from wxy/20231103-Using-Asciiquarium-for-Aquarium-Like-Animation-Effects-in-Linux-Terminal
ATRP:20231103 using asciiquarium for aquarium like animation effects in linux terminal
2023-11-06 10:47:41 +08:00
Xingyu Wang
1c3f68acbe R 2023-11-06 10:44:39 +08:00
Xingyu Wang
668d64ac93 ATRP
@wxy
https://linux.cn/article-16354-1.html
2023-11-06 10:42:56 +08:00
Xingyu.Wang
dbbf4adec2 Merge pull request #30417 from wxy/20220809-A-guide-to-JVM-interpretation-and-compilation.md
RP:published/20220809 A guide to JVM interpretation and compilation.md
2023-11-06 09:42:45 +08:00
Xingyu Wang
a635433928 RP
@toknow-gh
https://linux.cn/article-16353-1.html
2023-11-06 09:37:51 +08:00
Xingyu.Wang
77282419a1 Merge pull request #30415 from lujun9972/add-MjAyMzExMDQgQW4gT3BlbiBTb3VyY2UgV2ViLUJhc2VkIEFJLVBvd2VyZWQgVmVjdG9yIEdyYXBoaWNzIEVkaXRvci0gV2FpdCwgV2hhdC0gLm1kCg==
自动选题[news]: 20231104 An Open Source Web-Based AI-Powered Vector Graphics Editor: Wait, What? 🤯
2023-11-05 21:02:28 +08:00
Xingyu.Wang
3ac5f51417 Merge pull request #30414 from lujun9972/add-MjAyMzExMDQgOCBXZWJzaXRlcyBMaW51eCBVc2VycyBTaG91bGQgSGF2ZSBib29rbWFya2VkLm1kCg==
自动选题[tech]: 20231104 8 Websites Linux Users Should Have bookmarked
2023-11-05 21:02:04 +08:00
DarkSun
9a8644b7aa 选题[news]: 20231104 An Open Source Web-Based AI-Powered Vector Graphics Editor: Wait, What? 🤯
sources/news/20231104 An Open Source Web-Based AI-Powered Vector Graphics Editor- Wait, What- .md
2023-11-05 05:03:38 +08:00
DarkSun
df406e47fb 选题[tech]: 20231104 8 Websites Linux Users Should Have bookmarked
sources/tech/20231104 8 Websites Linux Users Should Have bookmarked.md
2023-11-05 05:03:13 +08:00
Xingyu.Wang
c743ba2867 Merge pull request #30413 from wxy/20231023-How-to-Install-the-Latest-LibreOffice-on-Ubuntu
RP:published/20231023 How to Install the Latest LibreOffice on Ubuntu.md
2023-11-04 17:09:19 +08:00
Xingyu Wang
e39e2c52f0 RP
@geekpi
https://linux.cn/article-16349-1.html
2023-11-04 17:07:15 +08:00
Xingyu.Wang
d01f8de4ff Merge pull request #30412 from lujun9972/add-MjAyMzExMDMgQXVkYWNpdHkgMy40IFJlbGVhc2UgQWRkcyBhIE5ldyBNdXNpY2FsIFZpZXcubWQK
自动选题[news]: 20231103 Audacity 3.4 Release Adds a New Musical View
2023-11-04 10:48:10 +08:00
Xingyu.Wang
68060fedda Merge pull request #30411 from lujun9972/add-MjAyMzExMDMgVXNpbmcgQXNjaWlxdWFyaXVtIGZvciBBcXVhcml1bSBMaWtlIEFuaW1hdGlvbiBFZmZlY3RzIGluIExpbnV4IFRlcm1pbmFsLm1kCg==
自动选题[tech]: 20231103 Using Asciiquarium for Aquarium Like Animation Effects in Linux Terminal
2023-11-04 10:47:28 +08:00
DarkSun
3fcef642ee 选题[news]: 20231103 Audacity 3.4 Release Adds a New Musical View
sources/news/20231103 Audacity 3.4 Release Adds a New Musical View.md
2023-11-04 05:03:44 +08:00
DarkSun
4bd5c70250 选题[tech]: 20231103 Using Asciiquarium for Aquarium Like Animation Effects in Linux Terminal
sources/tech/20231103 Using Asciiquarium for Aquarium Like Animation Effects in Linux Terminal.md
2023-11-04 05:03:13 +08:00
Xingyu.Wang
83fe492f6b Merge pull request #30410 from wxy/20231102-Garuda-Linux--Spizaetus--Release-Lets-You-Try-KDE-Plasma-6-Now
ATRP:published/20231102 Garuda Linux -Spizaetus- Release Lets You Try KDE Plasma 6 Now.md
2023-11-03 23:02:13 +08:00
Xingyu Wang
bf7773ae86 ATRP
@wxy
https://linux.cn/article-16347-1.html
2023-11-03 22:53:42 +08:00
Xingyu.Wang
9150e9db44 Merge pull request #30409 from wxy/20231031-Skiff-Mail-Adds-a-Convenient--Quick-Aliases--Feature.md
RP:published/20231031 Skiff Mail Adds a Convenient -Quick Aliases- Feature.md
2023-11-03 22:34:00 +08:00
Xingyu Wang
c17394592f RP
@geekpi
https://linux.cn/article-16346-1.html
2023-11-03 22:31:31 +08:00
geekpi
de9be6aeee Merge pull request #30407 from geekpi/translating
translating
2023-11-03 10:08:58 +08:00
geekpi
84a895fa3f translating 2023-11-03 10:08:08 +08:00
geekpi
6839927466 Merge pull request #30406 from geekpi/translating
Translating
2023-11-03 10:04:27 +08:00
geekpi
ef6a8fccd9 translated 2023-11-03 10:04:01 +08:00
geekpi
3ca284be80 translated 2023-11-03 10:02:25 +08:00
Xingyu.Wang
8662bc7424 Merge pull request #30405 from lujun9972/add-MjAyMzExMDIgR2FydWRhIExpbnV4IC1TcGl6YWV0dXMtIFJlbGVhc2UgTGV0cyBZb3UgVHJ5IEtERSBQbGFzbWEgNiBOb3cubWQK
自动选题[news]: 20231102 Garuda Linux “Spizaetus” Release Lets You Try KDE Plasma 6 Now!
2023-11-03 08:23:57 +08:00
Xingyu.Wang
b050f97ca2 Merge pull request #30404 from lujun9972/add-MjAyMzExMDEgQ29uZnVzaW5nIGdpdCB0ZXJtaW5vbG9neS5tZAo=
自动选题[tech]: 20231101 Confusing git terminology
2023-11-03 08:23:35 +08:00
DarkSun
e7f6717a45 选题[news]: 20231102 Garuda Linux “Spizaetus” Release Lets You Try KDE Plasma 6 Now!
sources/news/20231102 Garuda Linux -Spizaetus- Release Lets You Try KDE Plasma 6 Now.md
2023-11-03 05:03:54 +08:00
DarkSun
de5358d1d6 选题[tech]: 20231101 Confusing git terminology
sources/tech/20231101 Confusing git terminology.md
2023-11-03 05:03:40 +08:00
Xingyu.Wang
4c29da6b45 Merge pull request #30401 from toknow-gh/1028a
Translated
2023-11-02 22:05:21 +08:00
Xingyu.Wang
5e06f665b6 Merge pull request #30402 from wxy/20231101-Open-Source-Definition-for-AI-Models-Need-a-Change
ATRP:published/20231101 Open Source Definition for AI Models Need a Change.md
2023-11-02 22:04:33 +08:00
Xingyu Wang
0cb7557791 ATRP
@wxy
https://linux.cn/article-16344-1.html
2023-11-02 22:01:13 +08:00
toknow-gh
8d146b411a Translated
tech/20220809 A guide to JVM interpretation and compilation.md
2023-11-02 21:44:48 +08:00
Xingyu.Wang
4956e7241e Merge pull request #30400 from wxy/20231018-Fedora-Linux-Flatpak-cool-apps-to-try-for-October.md
PR:published/20231018 Fedora Linux Flatpak cool apps to try for October.md
2023-11-02 21:10:52 +08:00
Xingyu Wang
82849591e9 PR
@geekpi
https://linux.cn/article-16343-1.html
2023-11-02 21:05:55 +08:00
Xingyu.Wang
1753b09946 Merge pull request #30397 from lujun9972/add-MjAyMzExMDEgT3BlbiBTb3VyY2UgRGVmaW5pdGlvbiBmb3IgQUkgTW9kZWxzIE5lZWQgYSBDaGFuZ2UubWQK
自动选题[news]: 20231101 Open Source Definition for AI Models Need a Change
2023-11-02 20:52:34 +08:00
Xingyu.Wang
4fa4c29134 Rename 20231101 Open Source Definition for AI Models Need a Change.md to 20231101 Open Source Definition for AI Models Need a Change.md 2023-11-02 20:50:37 +08:00
Xingyu.Wang
af6d8685e3 Merge pull request #30396 from lujun9972/add-MjAyMzExMDEgRmVkb3JhIExpbnV4IEZsYXRwYWsgY29vbCBhcHBzIHRvIHRyeSBmb3IgTm92ZW1iZXIubWQK
自动选题[tech]: 20231101 Fedora Linux Flatpak cool apps to try for November
2023-11-02 20:50:00 +08:00
geekpi
79834cdb7c Merge pull request #30399 from geekpi/translating
translating
2023-11-02 09:25:57 +08:00
geekpi
b90f795256 translating 2023-11-02 09:24:49 +08:00
geekpi
fa92199c06 Merge pull request #30395 from toknow-gh/ai-2
Translating
2023-11-02 09:21:11 +08:00
geekpi
cbf0a67c34 Merge pull request #30398 from geekpi/translating
translated
2023-11-02 09:20:41 +08:00
geekpi
0683e59e5d translated 2023-11-02 09:06:15 +08:00
DarkSun
d7d1b5f713 选题[news]: 20231101 Open Source Definition for AI Models Need a Change
sources/news/20231101 Open Source Definition for AI Models Need a Change.md
2023-11-02 05:03:55 +08:00
DarkSun
b4ee0da4fc 选题[tech]: 20231101 Fedora Linux Flatpak cool apps to try for November
sources/tech/20231101 Fedora Linux Flatpak cool apps to try for November.md
2023-11-02 05:03:34 +08:00
toknow-gh
93b6085f9d Translating
tech/20220629 AI- Some History and a Lot More about Matrices.md
2023-11-02 00:22:56 +08:00
Xingyu.Wang
43ee662b4d Merge pull request #30394 from wxy/20220826-Why-Companies-Need-to-Set-Up-an-Open-Source-Program-Office.md
ATRP:published/20220826 Why Companies Need to Set Up an Open Source Program Office.md
2023-11-01 23:32:21 +08:00
Xingyu Wang
a51dbccbff ATRP
@wxy
https://linux.cn/article-16341-1.html
2023-11-01 23:29:59 +08:00
Xingyu.Wang
bbe3cf01a1 Merge pull request #30393 from wxy/20220815-How-ODT-files-are-structured.md
ATRP:published/20220815 How ODT files are structured.md
2023-11-01 22:39:26 +08:00
Xingyu Wang
0966dc2d21 ATRP
@toknow-gh
https://linux.cn/article-16340-1.html
2023-11-01 22:37:46 +08:00
Xingyu Wang
88bd630f0a 归档 202310 2023-11-01 21:54:16 +08:00
Xingyu.Wang
f0cb39d260 Merge pull request #30390 from lujun9972/add-MjAyMzEwMzEgU2tpZmYgTWFpbCBBZGRzIGEgQ29udmVuaWVudCAtUXVpY2sgQWxpYXNlcy0gRmVhdHVyZS5tZAo=
自动选题[news]: 20231031 Skiff Mail Adds a Convenient 'Quick Aliases' Feature
2023-11-01 20:16:38 +08:00
Xingyu.Wang
40802ae5cd Merge pull request #30389 from lujun9972/add-MjAyMzEwMzEgVGhlIEdlY2tvIFZlcnNpb24gb2YgTWlkb3JpIEJyb3dzZXIgaXMgSGVyZS5tZAo=
自动选题[news]: 20231031 The Gecko Version of Midori Browser is Here!
2023-11-01 20:15:35 +08:00
Xingyu.Wang
2de5fdcfca Merge pull request #30388 from lujun9972/add-MjAyMzEwMzEgSW5zdGFsbCBWU0NvZGl1bSBvbiBGZWRvcmEubWQK
自动选题[tech]: 20231031 Install VSCodium on Fedora
2023-11-01 20:15:17 +08:00
geekpi
9b1083a56f Merge pull request #30392 from geekpi/translating
translating
2023-11-01 09:28:58 +08:00
geekpi
9081491e83 translating 2023-11-01 09:27:37 +08:00
geekpi
a305823633 Merge pull request #30391 from geekpi/translating
translated
2023-11-01 09:25:24 +08:00
geekpi
c2b2e2a71d translated 2023-11-01 09:23:09 +08:00
DarkSun
6070157947 选题[news]: 20231031 Skiff Mail Adds a Convenient 'Quick Aliases' Feature
sources/news/20231031 Skiff Mail Adds a Convenient -Quick Aliases- Feature.md
2023-11-01 05:04:07 +08:00
DarkSun
33042b1e9c 选题[news]: 20231031 The Gecko Version of Midori Browser is Here!
sources/news/20231031 The Gecko Version of Midori Browser is Here.md
2023-11-01 05:03:55 +08:00
DarkSun
49b46717e6 选题[tech]: 20231031 Install VSCodium on Fedora
sources/tech/20231031 Install VSCodium on Fedora.md
2023-11-01 05:03:13 +08:00
Xingyu.Wang
64b978d194 Merge pull request #30387 from wxy/20231030-Linux-Kernel-6.6-Arrives-With-Numerous-Refinements
ATRP:published/20231030 Linux Kernel 6.6 Arrives With Numerous Refinements.md
2023-10-31 20:54:21 +08:00
Xingyu Wang
39bf561490 ATRP
@wxy
https://linux.cn/article-16336-1.html
2023-10-31 20:48:15 +08:00
Xingyu.Wang
cb2d4cb732 Merge pull request #30384 from lujun9972/add-MjAyMzEwMzAgTGludXggS2VybmVsIDYuNiBBcnJpdmVzIFdpdGggTnVtZXJvdXMgUmVmaW5lbWVudHMubWQK
自动选题[news]: 20231030 Linux Kernel 6.6 Arrives With Numerous Refinements
2023-10-31 20:24:05 +08:00
Xingyu.Wang
971a6a9afc Merge pull request #30383 from lujun9972/add-MjAyMzEwMzAgSW5zdGFsbCBEb2NrZXIgb24gQXJjaCBMaW51eC5tZAo=
自动选题[tech]: 20231030 Install Docker on Arch Linux
2023-10-31 20:23:31 +08:00
geekpi
cb61b94a08 Merge pull request #30386 from geekpi/translating
Translating
2023-10-31 08:57:51 +08:00
geekpi
0ede526dd6 translating 2023-10-31 08:55:34 +08:00
geekpi
b331cd49e7 Merge pull request #30385 from geekpi/translating
translated
2023-10-31 08:51:26 +08:00
geekpi
4d50437d2e Merge branch 'master' of https://github.com/LCTT/TranslateProject into translating 2023-10-31 08:50:07 +08:00
geekpi
9ea3763825 translated 2023-10-31 08:46:40 +08:00
DarkSun
df6905026b 选题[news]: 20231030 Linux Kernel 6.6 Arrives With Numerous Refinements
sources/news/20231030 Linux Kernel 6.6 Arrives With Numerous Refinements.md
2023-10-31 05:03:32 +08:00
DarkSun
6ae3d3039a 选题[tech]: 20231030 Install Docker on Arch Linux
sources/tech/20231030 Install Docker on Arch Linux.md
2023-10-31 05:03:00 +08:00
Xingyu.Wang
8e5d16e808 Merge pull request #30382 from wxy/20231026-KDE-Plasma-6-Will-Not-Support-Older-Desktop-Widgets
RP:published/20231026 KDE Plasma 6 Will Not Support Older Desktop Widgets.md
2023-10-30 22:56:30 +08:00
Xingyu Wang
c781565494 RP
@geekpi
https://linux.cn/article-16333-1.html
2023-10-30 22:53:00 +08:00
Xingyu.Wang
1620e007ea Merge pull request #30381 from wxy/20230228.4-️-Some-notes-on-using-nix
ATRP:published/20230228.4 ️ Some notes on using nix.md
2023-10-30 22:39:31 +08:00
Xingyu Wang
36ee100587 ATRP
@wxy
https://linux.cn/article-16332-1.html
2023-10-30 22:18:07 +08:00
geekpi
d5d72eae1c Merge pull request #30380 from geekpi/translating
translating
2023-10-30 09:25:34 +08:00
geekpi
077ea947d9 translating 2023-10-30 09:24:58 +08:00
geekpi
21df0b5a27 Merge pull request #30379 from geekpi/translating
translated
2023-10-30 09:22:16 +08:00
geekpi
046bdeb24c translated 2023-10-30 09:12:27 +08:00
Xingyu.Wang
3e3ab57c1f Merge pull request #30378 from wxy/20231028-Moosync--A-Feature-Rich-Open-Source-Music-Player
ATRP:published/20231028 Moosync- A Feature-Rich Open-Source Music Player.md
2023-10-30 06:29:55 +08:00
Xingyu Wang
113d55359e ATRP
@wxy
https://linux.cn/article-16329-1.html
2023-10-30 06:25:32 +08:00
Xingyu Wang
85a91797a2 过期回收
@CanYellow @suifeng333 @MjSeven
2023-10-29 20:56:09 +08:00
Xingyu.Wang
7a21e79dfe Merge pull request #30377 from wxy/published/20220809-Artificial-Intelligence--Explaining-the-Basics.md
RP:published/20231020 Geany 2.0 Release Makes it a More Versatile Text Editor and IDE.md
2023-10-29 17:22:08 +08:00
Xingyu Wang
ae99d56cc5 RP
@geekpi
https://linux.cn/article-16327-1.html
2023-10-29 17:20:37 +08:00
Xingyu.Wang
ec0c64b08d Merge pull request #30376 from wxy/20220809-Artificial-Intelligence--Explaining-the-Basics.md
R:published/20220809 Artificial Intelligence- Explaining the Basics.md
2023-10-29 17:14:01 +08:00
Xingyu Wang
a18f3b93bd R
使用 PNG 来渲染latex
2023-10-29 17:11:06 +08:00
Xingyu.Wang
c974f8d81c Merge pull request #30375 from wxy/20220809-Artificial-Intelligence--Explaining-the-Basics
RP:published/20220809 Artificial Intelligence- Explaining the Basics.md
2023-10-29 16:15:44 +08:00
Xingyu Wang
e6cd08a8d5 R 2023-10-29 16:11:13 +08:00
Xingyu Wang
be852a2c59 RP
@toknow-gh
https://linux.cn/article-16326-1.html
2023-10-29 15:59:33 +08:00
Xingyu.Wang
ad1344270f Merge pull request #30374 from lujun9972/add-MjAyMzEwMjggTW9vc3luYy0gQSBGZWF0dXJlLVJpY2ggT3Blbi1Tb3VyY2UgTXVzaWMgUGxheWVyLm1kCg==
自动选题[news]: 20231028 Moosync: A Feature-Rich Open-Source Music Player
2023-10-29 07:47:56 +08:00
Xingyu.Wang
ea605a902c Merge pull request #30373 from toknow-gh/1028a
Translating
2023-10-29 07:47:39 +08:00
Xingyu.Wang
a0f2ecd993 Merge pull request #30372 from toknow-gh/1028
Translated
2023-10-29 07:47:24 +08:00
DarkSun
a4a1b545b3 选题[news]: 20231028 Moosync: A Feature-Rich Open-Source Music Player
sources/news/20231028 Moosync- A Feature-Rich Open-Source Music Player.md
2023-10-29 05:03:32 +08:00
toknow-gh
5b3af80db8 Translating
tech/20220809 A guide to JVM interpretation and compilation.md
2023-10-28 19:22:37 +08:00
toknow-gh
5de02b6104 Translated
tech/20220815 How ODT files are structured.md
2023-10-28 19:14:39 +08:00
Xingyu.Wang
4a20e191d6 Merge pull request #30371 from wxy/20220920-Security-buzzwords-to-avoid-and-what-to-say-instead
ATRP:published/20220920 Security buzzwords to avoid and what to say instead.md
2023-10-28 10:04:25 +08:00
Xingyu Wang
e602cf856c R 2023-10-28 10:02:25 +08:00
Xingyu Wang
5240f53e83 ATRP
@wxy
https://linux.cn/article-16325-1.html
2023-10-28 09:58:56 +08:00
Xingyu.Wang
beb307ca57 Merge pull request #30370 from toknow-gh/1028
Transalting
2023-10-28 08:10:16 +08:00
Xingyu.Wang
b32abe171d Merge pull request #30369 from toknow-gh/tr1014
Translated
2023-10-28 08:09:52 +08:00
toknow-gh
d81e5fcb47 Transalting
tech/20220815 How ODT files are structured.md
2023-10-28 00:06:18 +08:00
toknow-gh
5b61af97e6 Translated
tech/20220809 Artificial Intelligence- Explaining the Basics.md
2023-10-27 23:54:34 +08:00
Xingyu.Wang
1f15b2a443 Merge pull request #30368 from wxy/20231013-Focusrite-Extends-Help-to-Linux-Developer-to-Enable-Driver-Support
RP:published/20231013 Focusrite Extends Help to Linux Developer to Enable Driver Support.md
2023-10-27 23:18:45 +08:00
Xingyu Wang
caa588a875 RP
@geekpi
https://linux.cn/article-16323-1.html
2023-10-27 23:12:54 +08:00
geekpi
8860856240 Merge pull request #30367 from geekpi/translating
translating
2023-10-27 08:53:19 +08:00
geekpi
4a80b0e885 translating 2023-10-27 08:52:01 +08:00
geekpi
b77322dfec Merge pull request #30366 from geekpi/translating
translated
2023-10-27 08:48:09 +08:00
geekpi
713a9f3ad3 translated 2023-10-27 08:46:35 +08:00
Xingyu.Wang
04675bfd9c Merge pull request #30365 from lujun9972/add-MjAyMzEwMjYgS0RFIFBsYXNtYSA2IFdpbGwgTm90IFN1cHBvcnQgT2xkZXIgRGVza3RvcCBXaWRnZXRzLm1kCg==
自动选题[news]: 20231026 KDE Plasma 6 Will Not Support Older Desktop Widgets
2023-10-27 07:49:10 +08:00
Xingyu.Wang
0a83a6a4f8 Merge pull request #30364 from lujun9972/add-MjAyMzEwMjYgQ3V0LCBDb3B5IGFuZCBQYXN0ZSBpbiBWaW0ubWQK
自动选题[tech]: 20231026 Cut, Copy and Paste in Vim
2023-10-27 07:48:53 +08:00
DarkSun
0cf97d228c 选题[news]: 20231026 KDE Plasma 6 Will Not Support Older Desktop Widgets
sources/news/20231026 KDE Plasma 6 Will Not Support Older Desktop Widgets.md
2023-10-27 05:04:55 +08:00
DarkSun
0265dc6310 选题[tech]: 20231026 Cut, Copy and Paste in Vim
sources/tech/20231026 Cut, Copy and Paste in Vim.md
2023-10-27 05:03:32 +08:00
Xingyu.Wang
535023f9c8 Merge pull request #30362 from wxy/20231016-Warehouse--A-Powerhouse-Tool-to-Manage-Flatpak-Apps.md
RP:published/20231016 Warehouse- A Powerhouse Tool to Manage Flatpak Apps.md
2023-10-26 23:02:47 +08:00
Xingyu Wang
135c529520 RP
@geekpi
https://linux.cn/article-16321-1.html
2023-10-26 22:43:12 +08:00
Xingyu.Wang
608d95aa8e Merge pull request #30361 from wxy/20231019-Is-This-The-Ultimate-Video-Streaming-App
RP:20231019 is this the ultimate video streaming app
2023-10-26 11:59:40 +08:00
Xingyu Wang
9d73feac32 R 2023-10-26 11:55:27 +08:00
Xingyu Wang
34dcb39eea RP
@geekpi
https://linux.cn/article-16318-1.html
2023-10-26 11:54:30 +08:00
Xingyu.Wang
9c3fe58a30 Merge pull request #30358 from lujun9972/add-MjAyMzEwMjUgcUJpdHRvcnJlbnQgNC42LjAgUmVsZWFzZSBBZGRzIEV4cGVyaW1lbnRhbCBJMlAgU3VwcG9ydCBmb3IgYSBNb3JlIFByaXZhdGUgRXhwZXJpZW5jZS5tZAo=
自动选题[news]: 20231025 qBittorrent 4.6.0 Release Adds Experimental I2P Support for a More Private Experience
2023-10-26 11:21:57 +08:00
geekpi
14bfd54927 Merge pull request #30360 from geekpi/translating
translating
2023-10-26 09:15:42 +08:00
geekpi
c79b52dfca translating 2023-10-26 09:07:29 +08:00
geekpi
9a636c033e Merge pull request #30359 from geekpi/translating
translated
2023-10-26 09:06:00 +08:00
geekpi
10dcb13b67 translated 2023-10-26 08:56:59 +08:00
DarkSun
b7cbaee4c0 选题[news]: 20231025 qBittorrent 4.6.0 Release Adds Experimental I2P Support for a More Private Experience
sources/news/20231025 qBittorrent 4.6.0 Release Adds Experimental I2P Support for a More Private Experience.md
2023-10-26 05:20:31 +08:00
Xingyu.Wang
1115f64f55 Merge pull request #30357 from wxy/20231020-Some-miscellaneous-git-facts
RP:20231020 some miscellaneous git facts
2023-10-25 12:28:42 +08:00
Xingyu Wang
ca57f243e5 P
@KaguyaQiang
本文首发地址:https://linux.cn/article-16316-1.html
也会同步发布到知乎、公众号等平台
您的 LCTT 专页:https://linux.cn/lctt/KaguyaQiang
2023-10-25 12:25:11 +08:00
Xingyu Wang
43b911bf21 R
@KaguyaQiang
感谢您,完成了第一篇翻译贡献!
2023-10-25 12:24:07 +08:00
Xingyu.Wang
794d1c2543 Merge pull request #30356 from KaguyaQiang/patch-2
Update 20231020 Some miscellaneous git facts.md
2023-10-25 11:37:48 +08:00
KaguyaQiang
727436c18c Update 20231020 Some miscellaneous git facts.md 2023-10-25 11:21:50 +08:00
Xingyu.Wang
8f3b5ef868 Merge pull request #30355 from wxy/20231018-An-Interesting-Bluetooth-App-for-Linux-Just-Appeared
RP:published/20231018 An Interesting Bluetooth App for Linux Just Appeared.md
2023-10-25 09:37:08 +08:00
Xingyu Wang
81adc966e9 RP
@geekpi
https://linux.cn/article-16315-1.html
2023-10-25 09:32:09 +08:00
Xingyu.Wang
050891a076 Merge pull request #30352 from lujun9972/add-MjAyMzEwMjQgSW5zdGFsbCwgQ29uZmlndXJlIGFuZCBVc2UgUmVtbWluYSBvbiBVYnVudHUubWQK
自动选题[tech]: 20231024 Install, Configure and Use Remmina on Ubuntu
2023-10-25 09:13:38 +08:00
geekpi
110aea42ef Merge pull request #30354 from geekpi/translating
translating
2023-10-25 08:31:51 +08:00
geekpi
99651b0dd3 translating 2023-10-25 08:29:22 +08:00
geekpi
3371917c9d Merge pull request #30353 from geekpi/translating
translated
2023-10-25 08:26:47 +08:00
geekpi
d717b0c8d8 translated 2023-10-25 08:24:57 +08:00
DarkSun
59b0e09a8f 选题[tech]: 20231024 Install, Configure and Use Remmina on Ubuntu
sources/tech/20231024 Install, Configure and Use Remmina on Ubuntu.md
2023-10-25 05:03:16 +08:00
Xingyu.Wang
abc2e52e3c Merge pull request #30351 from wxy/20221106-Making-a-DNS-query-in-Ruby-from-scratch.md
RP:published/20221106 Making a DNS query in Ruby from scratch.md
2023-10-24 15:52:36 +08:00
Xingyu Wang
84b6de4e68 RP
@Drwhooooo
https://linux.cn/article-16312-1.html
2023-10-24 15:51:34 +08:00
Xingyu.Wang
4b59ea15f9 Merge pull request #30350 from KaguyaQiang/Some-miscellaneous-git-facts
Some miscellaneous git facts translated
2023-10-24 10:23:38 +08:00
KaguyaQiang
78f74938f6 Delete sources/tech/20231020 Some miscellaneous git facts.md 2023-10-24 10:16:02 +08:00
KaguyaQiang
4a1ebf19fe Add files via upload 2023-10-24 10:11:57 +08:00
KaguyaQiang
68b62ddc09 Merge branch 'LCTT:master' into Some-miscellaneous-git-facts 2023-10-24 10:10:13 +08:00
Xingyu.Wang
fb2f0bd907 Merge pull request #30346 from lujun9972/add-MjAyMzEwMjMgSG93IHRvIEluc3RhbGwgdGhlIExhdGVzdCBMaWJyZU9mZmljZSBvbiBVYnVudHUubWQK
自动选题[tech]: 20231023 How to Install the Latest LibreOffice on Ubuntu
2023-10-24 10:06:15 +08:00
KaguyaQiang
070d822e29 20231020 Some miscellaneous git facts translated
翻译完成
2023-10-24 10:01:47 +08:00
geekpi
ebaddabc94 Merge pull request #30349 from geekpi/translating
translating
2023-10-24 08:50:17 +08:00
geekpi
7960c725b4 translating 2023-10-24 08:49:21 +08:00
geekpi
bb9bc2ed68 Merge pull request #30348 from geekpi/translating
translated
2023-10-24 08:45:12 +08:00
geekpi
3b60abef9d translated 2023-10-24 08:43:53 +08:00
KaguyaQiang
b549c87c7f Update 20231020 Some miscellaneous git facts.md
认领该文章
2023-10-24 08:32:42 +08:00
DarkSun
2ee04d9f04 选题[tech]: 20231023 How to Install the Latest LibreOffice on Ubuntu
sources/tech/20231023 How to Install the Latest LibreOffice on Ubuntu.md
2023-10-24 05:03:13 +08:00
Xingyu.Wang
d4586d796d Merge pull request #30343 from wxy/20231011-How-to-Record-Your-Screen-with-VLC--For-Fun.md
RP:published/20231011 How to Record Your Screen with VLC -For Fun.md
2023-10-23 15:38:12 +08:00
Xingyu Wang
d937a3eba6 RP
@geekpi
https://linux.cn/article-16310-1.html
2023-10-23 15:33:25 +08:00
Xingyu.Wang
062d89375e Merge pull request #30339 from trisbestever/Branch-1
Update 20220113 An open source developer-s guide to 12-Factor App met…
2023-10-23 09:17:41 +08:00
geekpi
791d46bc4b Merge pull request #30342 from geekpi/translating
translating
2023-10-23 08:48:49 +08:00
geekpi
8122f61b86 translating 2023-10-23 08:43:27 +08:00
geekpi
014ae32a31 Merge pull request #30341 from geekpi/translating
translated
2023-10-23 08:42:07 +08:00
geekpi
adfe38503b translated 2023-10-23 08:32:07 +08:00
trisbestever
65417e0e2b Update 20220113 An open source developer-s guide to 12-Factor App methodology.md 2023-10-22 21:19:51 +08:00
Xingyu.Wang
369e012ec3 Merge pull request #30338 from wxy/20231015-Install-and-Use-Nix-Package-Manager-on-non-Nix-OS-like-Ubuntu
RP:published/20231015 Install and Use Nix Package Manager on non-Nix OS like Ubuntu.md
2023-10-22 08:26:43 +08:00
Xingyu Wang
809b6fed6b RP
@geekpi
https://linux.cn/article-16307-1.html
2023-10-22 08:23:27 +08:00
Xingyu.Wang
52acd57983 Merge pull request #30337 from wxy/20231021-Bitwarden-vs.-Proton-Pass--Comparing-Top-Open-Source-Password-Managers
ATRP:published/20231021 Bitwarden vs. Proton Pass- Comparing Top Open-Source Password Managers.md
2023-10-22 08:01:44 +08:00
Xingyu Wang
22d449a65c R 2023-10-22 08:00:40 +08:00
Xingyu Wang
c25ab2fbf2 ATRP
@wxy
https://linux.cn/article-16306-1.html
2023-10-22 07:59:01 +08:00
Xingyu.Wang
aef741cc29 Merge pull request #30336 from lujun9972/add-MjAyMzEwMjEgUGVwcGVybWludCBNaW5pLSBBIExpZ2h0d2VpZ2h0IERpc3RybyBXaXRoIEFsbCBUaGUgRXNzZW50aWFscy5tZAo=
自动选题[news]: 20231021 Peppermint Mini: A Lightweight Distro With All The Essentials
2023-10-22 07:03:33 +08:00
Xingyu.Wang
613607eecf Merge pull request #30335 from lujun9972/add-MjAyMzEwMjEgQml0d2FyZGVuIHZzLiBQcm90b24gUGFzcy0gQ29tcGFyaW5nIFRvcCBPcGVuLVNvdXJjZSBQYXNzd29yZCBNYW5hZ2Vycy5tZAo=
自动选题[tech]: 20231021 Bitwarden vs. Proton Pass: Comparing Top Open-Source Password Managers
2023-10-22 07:03:15 +08:00
DarkSun
407e7b6115 选题[news]: 20231021 Peppermint Mini: A Lightweight Distro With All The Essentials
sources/news/20231021 Peppermint Mini- A Lightweight Distro With All The Essentials.md
2023-10-22 05:03:39 +08:00
DarkSun
6ee8ffea32 选题[tech]: 20231021 Bitwarden vs. Proton Pass: Comparing Top Open-Source Password Managers
sources/tech/20231021 Bitwarden vs. Proton Pass- Comparing Top Open-Source Password Managers.md
2023-10-22 05:03:14 +08:00
Xingyu.Wang
644b690c83 Merge pull request #30334 from wxy/20230213.2-️-Terminal-Basics-Series-1-Changing-Directories-in-Linux-Terminal
ATRP:published/20230213.2 ️ Terminal Basics Series 1 Changing Directories in Linux Terminal.md
2023-10-21 21:46:27 +08:00
Xingyu Wang
c94a7fba19 ATRP
@wxy 接管 @Cubik65536 未翻译完的文章
https://linux.cn/article-16304-1.html
2023-10-21 06:25:02 +08:00
Xingyu.Wang
29a04ab40f Merge pull request #30333 from wxy/20231016-Tor-Browser-13.0-Release-is-an-Exciting-Upgrade-for-Privacy-Focused-Users.md
RP:published/20231016 Tor Browser 13.0 Release is an Exciting Upgrade for Privacy-Focused Users.md
2023-10-21 06:01:30 +08:00
Xingyu.Wang
a5af53d571 Merge pull request #30332 from lujun9972/add-MjAyMzEwMjAgR2VhbnkgMi4wIFJlbGVhc2UgTWFrZXMgaXQgYSBNb3JlIFZlcnNhdGlsZSBUZXh0IEVkaXRvciBhbmQgSURFLm1kCg==
自动选题[news]: 20231020 Geany 2.0 Release Makes it a More Versatile Text Editor and IDE
2023-10-21 06:01:04 +08:00
Xingyu.Wang
79a6426feb Merge pull request #30331 from lujun9972/add-MjAyMzEwMjAgU29tZSBtaXNjZWxsYW5lb3VzIGdpdCBmYWN0cy5tZAo=
自动选题[tech]: 20231020 Some miscellaneous git facts
2023-10-21 06:00:37 +08:00
Xingyu Wang
07ad815090 RP
@geekpi
https://linux.cn/article-16303-1.html
2023-10-21 05:58:55 +08:00
DarkSun
a41c1fd760 选题[news]: 20231020 Geany 2.0 Release Makes it a More Versatile Text Editor and IDE
sources/news/20231020 Geany 2.0 Release Makes it a More Versatile Text Editor and IDE.md
2023-10-21 05:03:58 +08:00
DarkSun
f031aba7c5 选题[tech]: 20231020 Some miscellaneous git facts
sources/tech/20231020 Some miscellaneous git facts.md
2023-10-21 05:03:44 +08:00
Xingyu.Wang
5797e76c67 Merge pull request #30327 from lujun9972/add-MjAyMzEwMTkgSXMgVGhpcyBUaGUgVWx0aW1hdGUgVmlkZW8gU3RyZWFtaW5nIEFwcC5tZAo=
自动选题[news]: 20231019 Is This The Ultimate Video Streaming App?
2023-10-20 22:35:38 +08:00
Xingyu.Wang
239fb844c9 Merge pull request #30326 from lujun9972/add-MjAyMzEwMTkgT05MWU9GRklDRSA3LjUgaXMgTm93IEF2YWlsYWJsZS5tZAo=
自动选题[news]: 20231019 ONLYOFFICE 7.5 is Now Available!
2023-10-20 22:34:43 +08:00
geekpi
f2597d47ca Merge pull request #30329 from geekpi/translating
translating
2023-10-20 09:00:24 +08:00
geekpi
0ffc19e1f6 translating 2023-10-20 08:59:25 +08:00
geekpi
25374341c3 Merge pull request #30328 from geekpi/translating
translated
2023-10-20 08:52:07 +08:00
geekpi
24d698b69f translated 2023-10-20 08:51:03 +08:00
DarkSun
722ac8719d 选题[news]: 20231019 Is This The Ultimate Video Streaming App?
sources/news/20231019 Is This The Ultimate Video Streaming App.md
2023-10-20 05:19:50 +08:00
DarkSun
729d1489f1 选题[news]: 20231019 ONLYOFFICE 7.5 is Now Available!
sources/news/20231019 ONLYOFFICE 7.5 is Now Available.md
2023-10-20 05:19:38 +08:00
Xiaoyan Zhang
9f692f8069 Merge branch 'LCTT:master' into master 2023-10-19 19:08:05 +08:00
Xingyu.Wang
e8647d11e4 Merge pull request #30323 from wxy/20231012-Ubuntu-MATE-23.10-Released--A-Modest-Upgrade
RP:published/20231012 Ubuntu MATE 23.10 Released- A Modest Upgrade.md
2023-10-19 16:07:09 +08:00
Xingyu Wang
9082a05d56 RP
@geekpi
https://linux.cn/article-16300-1.html
2023-10-19 16:03:39 +08:00
Xingyu.Wang
0f9767e0b6 Merge pull request #30322 from wxy/20230217-Working-with-Btrfs---Compression
RP:published/20230217 Working with Btrfs - Compression.md
2023-10-19 15:45:57 +08:00
Xingyu Wang
8f988f9235 RP
@A2ureStone
https://linux.cn/article-16299-1.html
这个系列暂时结束了,感谢辛苦!
2023-10-19 15:37:54 +08:00
Xingyu.Wang
9bda7f3f99 Merge pull request #30321 from wcjjdlhws/wcjjdlhws
Update 20230210.1 ️ What an open license means to gamers.md
2023-10-19 14:32:09 +08:00
wuming
4fd70d8404 Update 20230210.1 ️ What an open license means to gamers.md 2023-10-19 13:07:41 +08:00
Xingyu.Wang
a943f35fe9 Merge pull request #30320 from wxy/20231010-How-to-Add-Comments-in-Bash-Scripts
RP:published/20231010 How to Add Comments in Bash Scripts.md
2023-10-19 11:45:11 +08:00
Xingyu Wang
2293d44f05 RP
@geekpi
https://linux.cn/article-16298-1.html
2023-10-19 11:38:13 +08:00
Xingyu.Wang
aae8a47ccf Merge pull request #30315 from lujun9972/add-MjAyMzEwMTggQW4gSW50ZXJlc3RpbmcgQmx1ZXRvb3RoIEFwcCBmb3IgTGludXggSnVzdCBBcHBlYXJlZC5tZAo=
自动选题[news]: 20231018 An Interesting Bluetooth App for Linux Just Appeared!
2023-10-19 11:06:25 +08:00
Xingyu.Wang
ab3d9ab1e8 Merge pull request #30314 from lujun9972/add-MjAyMzEwMTggRmVkb3JhIExpbnV4IEZsYXRwYWsgY29vbCBhcHBzIHRvIHRyeSBmb3IgT2N0b2Jlci5tZAo=
自动选题[tech]: 20231018 Fedora Linux Flatpak cool apps to try for October
2023-10-19 11:06:07 +08:00
Xingyu.Wang
9f3eb9180e Merge pull request #30313 from lujun9972/add-MjAyMzEwMTggRnVuIFdpdGggQ21hdHJpeCBpbiBMaW51eC5tZAo=
自动选题[tech]: 20231018 Fun With Cmatrix in Linux
2023-10-19 11:05:48 +08:00
Xingyu.Wang
90f114f06c Merge pull request #30312 from Drwhooooo/Drwhooooo-patch-1
Update and rename 20221106 Making a DNS query in Ruby from scratch.md…
2023-10-19 11:04:35 +08:00
Xingyu.Wang
14e6e1318a Merge pull request #30319 from wxy/20221013-How-To-Monitor-User-Activity-In-Linux
ATRP:published/20221013 How To Monitor User Activity In Linux.md
2023-10-19 11:02:55 +08:00
Xingyu Wang
5709570838 ATRP
@wxy
https://linux.cn/article-16297-1.html
2023-10-19 11:00:44 +08:00
geekpi
5ae1e5a82c Merge pull request #30317 from geekpi/translating
translating
2023-10-19 09:08:21 +08:00
geekpi
41b14e5735 translating 2023-10-19 09:07:12 +08:00
geekpi
8b63f428e3 Merge pull request #30316 from geekpi/translating
translated
2023-10-19 09:04:06 +08:00
geekpi
0ac0807d0b translated 2023-10-19 09:03:05 +08:00
DarkSun
696e16a734 选题[news]: 20231018 An Interesting Bluetooth App for Linux Just Appeared!
sources/news/20231018 An Interesting Bluetooth App for Linux Just Appeared.md
2023-10-19 05:04:04 +08:00
DarkSun
3d00c41352 选题[tech]: 20231018 Fedora Linux Flatpak cool apps to try for October
sources/tech/20231018 Fedora Linux Flatpak cool apps to try for October.md
2023-10-19 05:03:40 +08:00
DarkSun
4c91d6ae3c 选题[tech]: 20231018 Fun With Cmatrix in Linux
sources/tech/20231018 Fun With Cmatrix in Linux.md
2023-10-19 05:03:15 +08:00
Xiaoyan Zhang
e3e0e2ef27 Update and rename 20221106 Making a DNS query in Ruby from scratch.md to 20221106 Making a DNS query in Ruby from scratch.md
该文是我之前长时间未完成的一份
在群内申请相关翻译提交获得同意
以及还有一份排版:https://zhuanlan.zhihu.com/p/661028697
2023-10-19 00:34:38 +08:00
Xiaoyan Zhang
6d3f43005c Merge branch 'LCTT:master' into master 2023-10-18 20:26:49 +08:00
Xingyu.Wang
ac364dedbd Merge pull request #30311 from wxy/20231009-Add-Minimize-and-Maximize-Buttons-in-GNOME.md
RP:published/20231009 Add Minimize and Maximize Buttons in GNOME.md
2023-10-18 10:56:59 +08:00
Xingyu Wang
b5597c33f7 RP
@geekpi
https://linux.cn/article-16295-1.html
2023-10-18 10:52:30 +08:00
geekpi
4db2efafcc Merge pull request #30310 from geekpi/translating
translating
2023-10-18 08:54:33 +08:00
geekpi
601956461f translating 2023-10-18 08:53:44 +08:00
geekpi
4f96b2ec6d Merge pull request #30308 from Drwhooooo/patch-1
2023年10月18日申请认领该翻译
2023-10-18 08:50:22 +08:00
geekpi
078c2845ac Merge pull request #30309 from geekpi/translating
translated
2023-10-18 08:49:10 +08:00
geekpi
1533e67388 translated 2023-10-18 08:47:55 +08:00
Xiaoyan Zhang
587b0f1a1a Update 20230928 4 Incredibly Simple Ways to Customize Budgie Desktop in Linux.md
翻译认领
2023-10-18 01:29:23 +08:00
Xiaoyan Zhang
84a265ca4b Update 20231006 Using InfluxDB for time-series data analysis.md
翻译认领
2023-10-18 01:19:40 +08:00
Xingyu.Wang
91465b20b5 Merge pull request #30307 from wxy/20220921-6-Python-interpreters-to-try-in-2022.md
ATRP:published/20220921 6 Python interpreters to try in 2022.md
2023-10-17 23:27:24 +08:00
Xingyu Wang
735bf53e44 ATRP
@wxy
https://linux.cn/article-16294-1.html
2023-10-17 23:24:30 +08:00
Xingyu.Wang
873e07515f Merge pull request #30306 from wxy/20231005-Install-Brave-on-Arch-Linux
RP:published/20231005 Install Brave on Arch Linux.md
2023-10-17 10:41:33 +08:00
Xingyu Wang
9e099d40e2 RP
@geekpi
https://linux.cn/article-16291-1.html
2023-10-17 10:39:17 +08:00
Xingyu.Wang
ba4bb07133 Merge pull request #30305 from wxy/20231012-Ubuntu-Studio-23.10-Release-Aims-for-Effortless-Audio-Production.md
ATRP:published/20231012 Ubuntu Studio 23.10 Release Aims for Effortless Audio Production.md
2023-10-17 09:15:08 +08:00
Xingyu Wang
14e97a339f ATRP
@wxy
https://linux.cn/article-16290-1.html
2023-10-17 09:12:36 +08:00
geekpi
636f0e4c34 Merge pull request #30304 from geekpi/translating
translating
2023-10-17 09:00:13 +08:00
geekpi
7876420ede translating 2023-10-17 08:59:38 +08:00
geekpi
fb8bf0aaa3 Merge pull request #30303 from geekpi/translating
translated
2023-10-17 08:57:51 +08:00
geekpi
0aedd6d838 translated 2023-10-17 08:57:01 +08:00
Xingyu.Wang
bcc89e6209 Merge pull request #30302 from lujun9972/add-MjAyMzEwMTYgV2FyZWhvdXNlLSBBIFBvd2VyaG91c2UgVG9vbCB0byBNYW5hZ2UgRmxhdHBhayBBcHBzLm1kCg==
自动选题[news]: 20231016 Warehouse: A Powerhouse Tool to Manage Flatpak Apps
2023-10-17 08:51:59 +08:00
Xingyu.Wang
2e1654ef12 Rename 20231016 Warehouse- A Powerhouse Tool to Manage Flatpak Apps.md to 20231016 Warehouse- A Powerhouse Tool to Manage Flatpak Apps.md 2023-10-17 08:49:16 +08:00
Xingyu.Wang
8997eb8fef Merge pull request #30301 from lujun9972/add-MjAyMzEwMTYgVG9yIEJyb3dzZXIgMTMuMCBSZWxlYXNlIGlzIGFuIEV4Y2l0aW5nIFVwZ3JhZGUgZm9yIFByaXZhY3ktRm9jdXNlZCBVc2Vycy5tZAo=
自动选题[news]: 20231016 Tor Browser 13.0 Release is an Exciting Upgrade for Privacy-Focused Users
2023-10-17 08:48:34 +08:00
DarkSun
685c2f18b0 选题[news]: 20231016 Warehouse: A Powerhouse Tool to Manage Flatpak Apps
sources/news/20231016 Warehouse- A Powerhouse Tool to Manage Flatpak Apps.md
2023-10-17 05:20:44 +08:00
DarkSun
265a7e405e 选题[news]: 20231016 Tor Browser 13.0 Release is an Exciting Upgrade for Privacy-Focused Users
sources/news/20231016 Tor Browser 13.0 Release is an Exciting Upgrade for Privacy-Focused Users.md
2023-10-17 05:20:25 +08:00
Xingyu.Wang
9f1da989c0 Merge pull request #30300 from wxy/20231011-Ardour-8.0-is-an-Apple-Friendly-Update-With-Novation-Launchpad-Pro-Support
ATRP:published/20231011 Ardour 8.0 is an Apple-Friendly Update With Novation Launchpad Pro Support.md
2023-10-16 14:46:06 +08:00
Xingyu Wang
2f5cd59453 ATRP
@wxy
https://linux.cn/article-16288-1.html
2023-10-16 14:40:17 +08:00
Xingyu.Wang
bdb1d88ef0 Merge pull request #30299 from wxy/20221230-Working-with-Btrfs---Snapshots
RP:20221230 working with btrfs   snapshots
2023-10-16 09:34:40 +08:00
Xingyu Wang
f972885c45 R 2023-10-16 09:32:10 +08:00
Xingyu Wang
49b6ce4b8d RP
@A2ureStone
https://linux.cn/article-16287-1.html
辛苦了!
2023-10-16 09:26:54 +08:00
geekpi
96360e222c Merge pull request #30298 from geekpi/translating
translating
2023-10-16 09:20:26 +08:00
geekpi
4f96922aa0 translating 2023-10-16 09:19:51 +08:00
geekpi
6f9eba768f Merge pull request #30297 from geekpi/translating
translated
2023-10-16 09:14:46 +08:00
geekpi
f8852003c8 translated 2023-10-16 09:14:14 +08:00
Xingyu.Wang
3338fdcdbf Merge pull request #30296 from lujun9972/add-MjAyMzEwMTUgSW5zdGFsbCBhbmQgVXNlIE5peCBQYWNrYWdlIE1hbmFnZXIgb24gbm9uLU5peCBPUyBsaWtlIFVidW50dS5tZAo=
自动选题[tech]: 20231015 Install and Use Nix Package Manager on non-Nix OS like Ubuntu
2023-10-16 07:48:27 +08:00
DarkSun
0a5e3db7f9 选题[tech]: 20231015 Install and Use Nix Package Manager on non-Nix OS like Ubuntu
sources/tech/20231015 Install and Use Nix Package Manager on non-Nix OS like Ubuntu.md
2023-10-16 05:03:11 +08:00
Xingyu.Wang
d9f6a52614 Merge pull request #30294 from toknow-gh/tr1014
Translating
2023-10-14 23:35:11 +08:00
Xingyu.Wang
5380b2b6c7 Merge pull request #30295 from wxy/20231012-Raspberry-Pi-OS-Upgrade--Ditching-X11,-A-New-Browser,-and-Debian-12
ATRP:published/20231012 Raspberry Pi OS Upgrade- Ditching X11, A New Browser, and Debian 12.md
2023-10-14 23:34:48 +08:00
Xingyu Wang
064e5e64d4 ATRP
@wxy
https://linux.cn/article-16285-1.html
2023-10-14 23:32:13 +08:00
toknow-gh
35659d3e57 Translating
tech/20220809 Artificial Intelligence- Explaining the Basics.md
2023-10-14 23:17:03 +08:00
Xingyu.Wang
e1390266f5 Merge pull request #30293 from wxy/20231004-Install-and-Use-Yay-on-Arch-Linux
RP:published/20231004 Install and Use Yay on Arch Linux.md
2023-10-14 22:50:53 +08:00
Xingyu Wang
15ff7e7df8 RP
@geekpi
https://linux.cn/article-16284-1.html
2023-10-14 22:48:54 +08:00
Xingyu.Wang
33e20bdd38 Merge pull request #30292 from wxy/20231012-Xubuntu-23.10-Release-is-Here-With-Subtle-Improvements
ATRP:20231012 xubuntu 23.10 release is here with subtle improvements
2023-10-14 15:07:45 +08:00
Xingyu Wang
ddcac0a98e R 2023-10-14 11:38:17 +08:00
Xingyu Wang
baf789bde7 ATRP
@wxy
https://linux.cn/article-16282-1.html
2023-10-14 11:34:23 +08:00
Xingyu.Wang
4a1521ad60 Merge pull request #30291 from wxy/20231012-Kubuntu-23.10-Release-is-Here.md
ATRP:published/20231012 Kubuntu 23.10 Release is Here.md
2023-10-14 10:45:14 +08:00
Xingyu Wang
2fbc0441eb ATRP
@wxy
https://linux.cn/article-16281-1.html
2023-10-14 10:42:57 +08:00
Xingyu.Wang
fccae86785 Merge pull request #30290 from lujun9972/add-MjAyMzEwMTMgRm9jdXNyaXRlIEV4dGVuZHMgSGVscCB0byBMaW51eCBEZXZlbG9wZXIgdG8gRW5hYmxlIERyaXZlciBTdXBwb3J0Lm1kCg==
自动选题[news]: 20231013 Focusrite Extends Help to Linux Developer to Enable Driver Support
2023-10-14 10:24:44 +08:00
Xingyu.Wang
eeae0beeb6 Merge pull request #30289 from A2ureStone/pick-btrfs4
finish translate btrfs-compression
2023-10-14 10:24:09 +08:00
Xingyu.Wang
b471feccca Merge pull request #30288 from A2ureStone/pick-btrfs3
finish translate btrfs-snapshots
2023-10-14 10:23:53 +08:00
DarkSun
6d4308ad04 选题[news]: 20231013 Focusrite Extends Help to Linux Developer to Enable Driver Support
sources/news/20231013 Focusrite Extends Help to Linux Developer to Enable Driver Support.md
2023-10-14 05:03:46 +08:00
Xingyu.Wang
fd7eabec94 Merge pull request #30287 from wxy/20231012-Ubuntu-23.10--The-Big-Release-is-Here.md
ATRP:published/20231012 Ubuntu 23.10- The Big Release is Here.md
2023-10-13 10:09:12 +08:00
Xingyu Wang
ebc040e9e9 R 2023-10-13 10:08:09 +08:00
Xingyu Wang
33e0d9eff9 R 2023-10-13 10:06:20 +08:00
Xingyu Wang
4e95926d8b ATRP
@wxy
https://linux.cn/article-16278-1.html
2023-10-13 09:59:24 +08:00
Xingyu.Wang
ca34f8d8a7 Merge pull request #30284 from lujun9972/add-MjAyMzEwMTIgUmFzcGJlcnJ5IFBpIE9TIFVwZ3JhZGUtIERpdGNoaW5nIFgxMSwgQSBOZXcgQnJvd3NlciwgYW5kIERlYmlhbiAxMi5tZAo=
自动选题[news]: 20231012 Raspberry Pi OS Upgrade: Ditching X11, A New Browser, and Debian 12
2023-10-13 09:14:10 +08:00
Xingyu.Wang
e2c80715c9 Merge pull request #30283 from lujun9972/add-MjAyMzEwMTIgVWJ1bnR1IDIzLjEwLSBUaGUgQmlnIFJlbGVhc2UgaXMgSGVyZS5tZAo=
自动选题[news]: 20231012 Ubuntu 23.10: The Big Release is Here!
2023-10-13 09:13:51 +08:00
Xingyu.Wang
5f2e4fbfe6 Merge pull request #30282 from lujun9972/add-MjAyMzEwMTIgVWJ1bnR1IE1BVEUgMjMuMTAgUmVsZWFzZWQtIEEgTW9kZXN0IFVwZ3JhZGUubWQK
自动选题[news]: 20231012 Ubuntu MATE 23.10 Released: A Modest Upgrade
2023-10-13 09:13:28 +08:00
Xingyu.Wang
0be4a6bdd3 Merge pull request #30281 from lujun9972/add-MjAyMzEwMTIgS3VidW50dSAyMy4xMCBSZWxlYXNlIGlzIEhlcmUubWQK
自动选题[news]: 20231012 Kubuntu 23.10 Release is Here!
2023-10-13 09:13:13 +08:00
Xingyu.Wang
c5dc31a05c Merge pull request #30280 from lujun9972/add-MjAyMzEwMTIgWHVidW50dSAyMy4xMCBSZWxlYXNlIGlzIEhlcmUgV2l0aCBTdWJ0bGUgSW1wcm92ZW1lbnRzLm1kCg==
自动选题[news]: 20231012 Xubuntu 23.10 Release is Here With Subtle Improvements
2023-10-13 09:12:57 +08:00
Xingyu.Wang
ace3dbf89d Merge pull request #30279 from lujun9972/add-MjAyMzEwMTIgVWJ1bnR1IFN0dWRpbyAyMy4xMCBSZWxlYXNlIEFpbXMgZm9yIEVmZm9ydGxlc3MgQXVkaW8gUHJvZHVjdGlvbi5tZAo=
自动选题[news]: 20231012 Ubuntu Studio 23.10 Release Aims for Effortless Audio Production
2023-10-13 09:12:15 +08:00
geekpi
01c3914cef Merge pull request #30286 from geekpi/translating
translating
2023-10-13 08:55:36 +08:00
geekpi
237e6ee652 translating 2023-10-13 08:54:49 +08:00
geekpi
e411fcda8d Merge pull request #30285 from geekpi/translating
translated
2023-10-13 08:39:04 +08:00
geekpi
40870736bb translated 2023-10-13 08:37:25 +08:00
DarkSun
11574041bc 选题[news]: 20231012 Raspberry Pi OS Upgrade: Ditching X11, A New Browser, and Debian 12
sources/news/20231012 Raspberry Pi OS Upgrade- Ditching X11, A New Browser, and Debian 12.md
2023-10-13 05:04:48 +08:00
DarkSun
94dcd30817 选题[news]: 20231012 Ubuntu 23.10: The Big Release is Here!
sources/news/20231012 Ubuntu 23.10- The Big Release is Here.md
2023-10-13 05:04:35 +08:00
DarkSun
07d0a4997a 选题[news]: 20231012 Ubuntu MATE 23.10 Released: A Modest Upgrade
sources/news/20231012 Ubuntu MATE 23.10 Released- A Modest Upgrade.md
2023-10-13 05:04:23 +08:00
DarkSun
bd29e9219b 选题[news]: 20231012 Kubuntu 23.10 Release is Here!
sources/news/20231012 Kubuntu 23.10 Release is Here.md
2023-10-13 05:04:11 +08:00
DarkSun
d7db3e79a8 选题[news]: 20231012 Xubuntu 23.10 Release is Here With Subtle Improvements
sources/news/20231012 Xubuntu 23.10 Release is Here With Subtle Improvements.md
2023-10-13 05:03:59 +08:00
DarkSun
4f9271d59d 选题[news]: 20231012 Ubuntu Studio 23.10 Release Aims for Effortless Audio Production
sources/news/20231012 Ubuntu Studio 23.10 Release Aims for Effortless Audio Production.md
2023-10-13 05:03:46 +08:00
Xingyu.Wang
bede0729aa Merge pull request #30277 from A2ureStone/pick-btrfs4
pick btrfs-compression
2023-10-12 22:41:43 +08:00
Xingyu.Wang
9e45e1a630 Merge pull request #30276 from A2ureStone/pick-btrfs3
pick btrfs-snapshots
2023-10-12 22:41:26 +08:00
J1senn
441d685011 finish translate btrfs-snapshots 2023-10-12 16:41:01 +08:00
J1senn
c01ccd770c finish translate btrfs-compression 2023-10-12 16:39:44 +08:00
J1senn
cbd807b79f pick btrfs-compression 2023-10-12 16:35:49 +08:00
Xingyu.Wang
dacf050266 Merge pull request #30275 from wxy/20220629-ABCs-of-FreeDOS--26-commands-I-use-all-the-time
RP:published/20220629 ABCs of FreeDOS- 26 commands I use all the time.md
2023-10-12 10:34:00 +08:00
Xingyu Wang
53f65516df RP
@robsean
https://linux.cn/article-16276-1.html
2023-10-12 10:31:30 +08:00
Xingyu.Wang
b637862bc3 Merge pull request #30272 from lujun9972/add-MjAyMzEwMTEgQXJkb3VyIDguMCBpcyBhbiBBcHBsZS1GcmllbmRseSBVcGRhdGUgV2l0aCBOb3ZhdGlvbiBMYXVuY2hwYWQgUHJvIFN1cHBvcnQubWQK
自动选题[news]: 20231011 Ardour 8.0 is an Apple-Friendly Update With Novation Launchpad Pro Support
2023-10-12 09:41:43 +08:00
Xingyu.Wang
a3aec1dd9f Merge pull request #30270 from lujun9972/add-MjAyMzEwMTEgSG93IHRvIFJlY29yZCBZb3VyIFNjcmVlbiB3aXRoIFZMQyAtRm9yIEZ1bi5tZAo=
自动选题[tech]: 20231011 How to Record Your Screen with VLC [For Fun]
2023-10-12 09:40:26 +08:00
geekpi
d1b3624319 Merge pull request #30274 from geekpi/translating
translating
2023-10-12 08:45:15 +08:00
geekpi
26c455dd37 translating 2023-10-12 08:44:34 +08:00
geekpi
e2b5691a9b Merge pull request #30273 from geekpi/translating
translated
2023-10-12 08:42:08 +08:00
geekpi
0af62662d8 translated 2023-10-12 08:39:12 +08:00
DarkSun
36498dda69 选题[news]: 20231011 Ardour 8.0 is an Apple-Friendly Update With Novation Launchpad Pro Support
sources/news/20231011 Ardour 8.0 is an Apple-Friendly Update With Novation Launchpad Pro Support.md
2023-10-12 05:03:56 +08:00
DarkSun
21e2e1cb3f 选题[tech]: 20231011 How to Record Your Screen with VLC [For Fun]
sources/tech/20231011 How to Record Your Screen with VLC -For Fun.md
2023-10-12 05:03:17 +08:00
Xingyu.Wang
c836164778 Merge pull request #30269 from wxy/20231003-Linux-Mint-21.2-Edge-ISO-Empowers-Newer-Hardware-with-Kernel-6.2.md
RP:published/20231003 Linux Mint 21.2 Edge ISO Empowers Newer Hardware with Kernel 6.2.md
2023-10-11 22:46:04 +08:00
Xingyu Wang
790a143834 RP
@geekpi
https://linux.cn/article-16275-1.html
2023-10-11 22:42:04 +08:00
Xingyu.Wang
cdf54dc127 Merge pull request #30265 from lujun9972/add-MjAyMzEwMTAgSG93IHRvIEFkZCBDb21tZW50cyBpbiBCYXNoIFNjcmlwdHMubWQK
自动选题[tech]: 20231010 How to Add Comments in Bash Scripts
2023-10-11 14:51:18 +08:00
geekpi
742a1e8f67 Merge pull request #30268 from geekpi/translating
translating
2023-10-11 08:55:14 +08:00
geekpi
7c545c902e translating 2023-10-11 08:53:49 +08:00
geekpi
3ab35cb2b1 Merge pull request #30267 from geekpi/translating
translating
2023-10-11 08:49:10 +08:00
geekpi
bfef47c7b6 translating 2023-10-11 08:44:13 +08:00
DarkSun
14818d6ed7 选题[tech]: 20231010 How to Add Comments in Bash Scripts
sources/tech/20231010 How to Add Comments in Bash Scripts.md
2023-10-11 05:03:15 +08:00
Xingyu.Wang
edd595f6a5 Merge pull request #30264 from wxy/20230826-7-Things-You-Never-Knew-You-Could-Do-in-GNOME-s-Activity-Search
ATRP:published/20230826 7 Things You Never Knew You Could Do in GNOME-s Activity Search.md
2023-10-10 22:54:28 +08:00
Xingyu Wang
009a3feb2b R 2023-10-10 22:51:09 +08:00
Xingyu Wang
45452f56f1 ATRP
@wxy
https://linux.cn/article-16273-1.html
2023-10-10 22:44:54 +08:00
Xingyu.Wang
2278501b7a Merge pull request #30263 from robsean/patch-6
Translated
2023-10-10 21:37:48 +08:00
c8a2bc45da Translated 2023-10-10 16:49:30 +08:00
Xingyu.Wang
8b1cdb600f Merge pull request #30262 from wxy/20231009-Cloudflare-Unveils-Free-Privacy-Friendly-Replacement-to-the-Annoying-CAPTCHA-System
ATRP:published/20231009 Cloudflare Unveils Free Privacy-Friendly Replacement to the Annoying CAPTCHA System.md
2023-10-10 10:49:33 +08:00
Xingyu Wang
e6222e09ba ATRP
@wxy
https://linux.cn/article-16271-1.html
2023-10-10 10:44:42 +08:00
Xingyu.Wang
c8701e60c8 Merge pull request #30259 from lujun9972/add-MjAyMzEwMDkgQ2xvdWRmbGFyZSBVbnZlaWxzIEZyZWUgUHJpdmFjeS1GcmllbmRseSBSZXBsYWNlbWVudCB0byB0aGUgQW5ub3lpbmcgQ0FQVENIQSBTeXN0ZW0ubWQK
自动选题[news]: 20231009 Cloudflare Unveils Free Privacy-Friendly Replacement to the Annoying CAPTCHA System
2023-10-10 10:21:59 +08:00
Xingyu.Wang
ad3047afb5 Merge pull request #30258 from lujun9972/add-MjAyMzEwMDkgQWRkIE1pbmltaXplIGFuZCBNYXhpbWl6ZSBCdXR0b25zIGluIEdOT01FLm1kCg==
自动选题[tech]: 20231009 Add Minimize and Maximize Buttons in GNOME
2023-10-10 10:21:38 +08:00
geekpi
937e7c0397 Merge pull request #30261 from geekpi/translating
translating
2023-10-10 08:47:49 +08:00
geekpi
1cbf6bcb4d translating 2023-10-10 08:47:02 +08:00
geekpi
91b2da543c Merge pull request #30260 from geekpi/translating
translated
2023-10-10 08:45:45 +08:00
geekpi
254a9f2a0c translated 2023-10-10 08:44:29 +08:00
DarkSun
febd2dc882 选题[news]: 20231009 Cloudflare Unveils Free Privacy-Friendly Replacement to the Annoying CAPTCHA System
sources/news/20231009 Cloudflare Unveils Free Privacy-Friendly Replacement to the Annoying CAPTCHA System.md
2023-10-10 05:04:13 +08:00
DarkSun
7f375f0f55 选题[tech]: 20231009 Add Minimize and Maximize Buttons in GNOME
sources/tech/20231009 Add Minimize and Maximize Buttons in GNOME.md
2023-10-10 05:03:42 +08:00
Xingyu.Wang
f4d61ad1b8 Merge pull request #30257 from wxy/20231004-Fixing--Bash--man-command-not-found--error-in-Arch-Linux
RP:published/20231004 Fixing -Bash- man command not found- error in Arch Linux.md
2023-10-09 23:22:06 +08:00
Xingyu Wang
37ca4e09cb RP
@geekpi
https://linux.cn/article-16270-1.html
2023-10-09 23:18:21 +08:00
Xingyu.Wang
80b111c36b Merge pull request #30256 from wxy/20231007-This-Open-Source-App-Helps-You-Stay-Focused.md
ATRP:published/20231007 This Open-Source App Helps You Stay Focused.md
2023-10-09 13:56:23 +08:00
Xingyu Wang
8c5a6089b4 ATRP
@wxy
https://linux.cn/article-16268-1.html
2023-10-09 13:54:30 +08:00
Xingyu.Wang
a0a88ae318 Merge pull request #30255 from wxy/20230512-Make-use-of-Btrfs-snapshots-to-upgrade-Fedora-Linux-with-easy-fallback
ATRP:20230512 make use of btrfs snapshots to upgrade fedora linux with easy fallback
2023-10-09 11:42:17 +08:00
Xingyu Wang
587f3ca1c1 RP
@wxy
https://linux.cn/article-16267-1.html
2023-10-09 11:38:15 +08:00
Xingyu.Wang
45e457aca9 Merge pull request #30254 from wxy/20230704.0-️-Using-ls-Command-in-Linux
ATRP:20230704.0 ️ using ls command in linux
2023-10-09 11:31:03 +08:00
Xingyu Wang
060fefaad7 Revert "AT"
This reverts commit cb7ffce414.
2023-10-09 11:29:31 +08:00
Xingyu Wang
c74c081cc0 AT 2023-10-09 11:06:40 +08:00
Xingyu Wang
cb7ffce414 AT 2023-10-09 10:09:11 +08:00
geekpi
647b50fe62 Merge pull request #30253 from geekpi/translating
translating
2023-10-09 08:57:03 +08:00
geekpi
4c04ccdd6f translating 2023-10-09 08:55:24 +08:00
geekpi
b991c4d188 Merge pull request #30252 from geekpi/translating
translated
2023-10-09 08:52:22 +08:00
Xingyu Wang
3a71263084 ATRP
@wxy
https://linux.cn/article-16266-1.html
2023-10-09 08:50:14 +08:00
geekpi
30af17f113 translated 2023-10-09 08:49:42 +08:00
J1senn
d7701d3b05 pick btrfs-snapshots 2023-10-08 21:42:51 +08:00
Xingyu.Wang
a4f8e347ad Merge pull request #30251 from wxy/20230925-Share-your-game-achievements-with-Gamerzilla
RP:published/20230925 Share your game achievements with Gamerzilla.md
2023-10-08 19:20:24 +08:00
Xingyu Wang
e5d53aa4a9 RP
@geekpi
https://linux.cn/article-16264-1.html
2023-10-08 19:18:42 +08:00
Xingyu.Wang
cf483f65a1 Merge pull request #30250 from wxy/20231007-Ubuntu-vs-Kubuntu--Which-is-the-Better-Choice-for-You
ATRP:published/20231007 Ubuntu vs Kubuntu- Which is the Better Choice for You.md
2023-10-08 10:52:14 +08:00
Xingyu Wang
6c7cc731ce ATRP
@wxy
https://linux.cn/article-16263-1.html
2023-10-08 10:49:24 +08:00
geekpi
217dbc5d58 Merge pull request #30249 from geekpi/translating
translating
2023-10-08 09:04:02 +08:00
geekpi
8f318001f1 translating 2023-10-08 09:03:22 +08:00
geekpi
246bfe3f69 Merge pull request #30248 from geekpi/translating
translated
2023-10-08 09:02:16 +08:00
geekpi
041a1baecd translated 2023-10-08 09:00:56 +08:00
Xingyu.Wang
f8371da9b6 Merge pull request #30247 from lujun9972/add-MjAyMzEwMDcgVGhpcyBPcGVuLVNvdXJjZSBBcHAgSGVscHMgWW91IFN0YXkgRm9jdXNlZC5tZAo=
自动选题[news]: 20231007 This Open-Source App Helps You Stay Focused
2023-10-08 08:00:08 +08:00
Xingyu.Wang
ff6668ed87 Merge pull request #30246 from lujun9972/add-MjAyMzEwMDcgVWJ1bnR1IHZzIEt1YnVudHUtIFdoaWNoIGlzIHRoZSBCZXR0ZXIgQ2hvaWNlIGZvciBZb3UubWQK
自动选题[tech]: 20231007 Ubuntu vs Kubuntu: Which is the Better Choice for You?
2023-10-08 07:55:35 +08:00
DarkSun
b7f0806f9e 选题[news]: 20231007 This Open-Source App Helps You Stay Focused
sources/news/20231007 This Open-Source App Helps You Stay Focused.md
2023-10-08 05:03:48 +08:00
DarkSun
5e71ce5254 选题[tech]: 20231007 Ubuntu vs Kubuntu: Which is the Better Choice for You?
sources/tech/20231007 Ubuntu vs Kubuntu- Which is the Better Choice for You.md
2023-10-08 05:03:21 +08:00
Xingyu.Wang
a4934a703b Merge pull request #30245 from wxy/20230927-Wolfi--The-Linux-Un(distro)-Improving-Cloud-Software-Supply-Chain-Turns-One
ATRP:published/20230927 Wolfi- The Linux Un(distro) Improving Cloud Software Supply Chain Turns One.md
2023-10-07 19:31:44 +08:00
Xingyu Wang
06afc58c7d ATRP
@wxy
https://linux.cn/article-16261-1.html
2023-10-07 19:28:13 +08:00
Xingyu.Wang
b0ab7351f7 Merge pull request #30241 from lujun9972/add-MjAyMzEwMDYgVXNpbmcgSW5mbHV4REIgZm9yIHRpbWUtc2VyaWVzIGRhdGEgYW5hbHlzaXMubWQK
自动选题[tech]: 20231006 Using InfluxDB for time-series data analysis
2023-10-07 19:11:46 +08:00
geekpi
0d85396b0a Merge pull request #30244 from geekpi/translating
translating
2023-10-07 09:08:53 +08:00
geekpi
23d5687bed translating 2023-10-07 09:06:39 +08:00
geekpi
1100ee63f2 Merge pull request #30243 from geekpi/translating
translated
2023-10-07 09:02:00 +08:00
geekpi
0f06ea6846 translated 2023-10-07 09:00:48 +08:00
DarkSun
42fde7ae98 选题[tech]: 20231006 Using InfluxDB for time-series data analysis
sources/tech/20231006 Using InfluxDB for time-series data analysis.md
2023-10-07 05:20:47 +08:00
Xingyu.Wang
6739869e0a Merge pull request #30239 from wxy/20231004-Wait-s-Over--elementary-OS-7.1-Releases-With-a-Focus-on-Privacy.md
ATRP:published/20231004 Wait-s Over- elementary OS 7.1 Releases With a Focus on Privacy.md
2023-10-06 23:29:36 +08:00
Xingyu Wang
e0a0db55a9 ATRP
@wxy
https://linux.cn/article-16260-1.html
2023-10-06 23:26:57 +08:00
Xingyu.Wang
61ab33d4f8 Merge pull request #30238 from wxy/20231004-Linux-Gaming-s-Next-Big-Secret-Weapon--Bottles-Next-Gen-Upgrade-.md
ATRP:published/20231004 Linux Gaming-s Next Big Secret Weapon- Bottles Next-Gen Upgrade .md
2023-10-06 12:40:11 +08:00
Xingyu Wang
48ffe2df3f ATRP
@wxy
https://linux.cn/article-16258-1.html
2023-10-06 12:38:11 +08:00
Xingyu.Wang
40dbca89f2 Merge pull request #30236 from lujun9972/add-MjAyMzEwMDUgSW5zdGFsbCBCcmF2ZSBvbiBBcmNoIExpbnV4Lm1kCg==
自动选题[tech]: 20231005 Install Brave on Arch Linux
2023-10-06 11:25:46 +08:00
DarkSun
fe898b172b 选题[tech]: 20231005 Install Brave on Arch Linux
sources/tech/20231005 Install Brave on Arch Linux.md
2023-10-06 05:03:14 +08:00
Xingyu.Wang
e1b20470cb Merge pull request #30235 from wxy/20231001-Mission-Center--A-Sleek-System-Monitoring-App-for-Linux.md
ATRP:20231001 mission center  a sleek system monitoring app for linux.md
2023-10-05 18:14:36 +08:00
Xingyu Wang
ae40cd33f9 R 2023-10-05 18:13:05 +08:00
Xingyu Wang
e8103a6fc0 ATRP
@wxy
https://linux.cn/article-16257-1.html
2023-10-05 18:09:29 +08:00
Xingyu.Wang
bb5d6a3e73 Merge pull request #30234 from wxy/20230829-Create-Live-Linux-Mint-USB.md
R:published/20230829 Create Live Linux Mint USB.md
2023-10-05 17:04:46 +08:00
Xingyu Wang
82749b3be4 R 2023-10-05 17:00:44 +08:00
261 changed files with 36923 additions and 7813 deletions

84
LinuxChina-End.md Normal file
View File

@@ -0,0 +1,84 @@
“Linux 中国” 开源社区,停止运营
======
这是一个艰难的决定 —— 这不是调侃,而是当你真正做出改变了你十几年生活轨迹的决定时,你就会明白这个决定确实艰难。
在写这篇告别信之前,我久久停笔不前。然而,要说的话,其实在我心里已经反复思考了好几遍。
**从即日起“Linux 中国” 这个社区,包括它的主网( https://linux.cn/ )、公众号、视频号,以及下属的《硬核观察》栏目,将无限期停止更新和运营。**
停止运营的原因其实很平常,大抵包括以下几个方面:
### “Linux 中国” 已经完成了其历史使命
最初,我们的愿望是想把 “Linux 中国” 建设成一个传播开源技术的公益型社区。但是经过十几年的发展,目前开源文化和 Linux 相关的开源技术已经得到了广泛传播(在这期间,我们或许也做了一些小小的贡献)。因此,继续运营所能起到的作用并没有那么大了。
出于偶然原因“Linux 中国” 其实并未按照我们的最初设想发展,这么多年下来,真正坚持下来的项目也就是一个翻译团队 LCTT翻译了数千篇文章引导数百人参与了开源贡献。然而近年来随着计算机翻译技术的进步尤其是 ChatGPT 的出现,翻译工作的必要性大为降低。自去年以来,我一直使用 ChatGPT 来翻译一些文章尽管还需要一至两次校对但基本没什么大问题。所以LCTT 的存在也显得不那么重要了。
事实上LCTT 已经陷入了一种半死亡状态,数百名贡献者基本上都处于休眠了状态,甚至由于技术原因,连自动化选题工作都难以维持。唯一能持续翻译的,除了我,就是我们的首席译者 geekpi 了。从这个角度来看,这已经不再是一个社区化的翻译组织了。
### 最初的方向选择和理想主义无法避免的结果
2003 年,在创立 “Linux 中国” 之前,我还创立过另外一个叫做 “炎黄角马CNGNU” 的开源技术社区。但后来因为我创业失败,这个社区就关闭了。随后,我的弟弟王兴江利用我手中闲置的域名 **linux.cn** 建立了一个新的网站,我们给它起了一个狂妄的名字 “Linux 中国” —— 实际上,需要澄清的是,我们和 Linux 的官方机构没有任何关联,也不代表 Linux 官方。
建立这个网站(社区)的初衷是为了传播知识和文化,并没有考虑过未来的盈利模式,这也导致我们后来排斥将社区变成一个商业网站,去做一些培训、会议之类的商业活动。
但这带来了巨大的资金压力,尤其是在托管服务器价格高昂的那段时期。幸运的是,我们得到了七牛云在 CDN 方面的赞助、阿里云在 PR 方面的投放,让我们得以发展。当然,还有一些其它的广告主和朋友的赞助,稍后容我一一致谢。
2015 年我离开了中国电信成为了一名自由人没有人再给我发工资了。这些年“Linux 中国” 有一些收入,主要是为广告商撰写和发布的一些文章,但是收入不太稳定。而在众所周知的那三年里,收入状况甚至更惨淡。说实话,过去几年,我大致处于一种个人经济上的慢性失血状态。
所以,现在,当整体经济不佳时,压力更大。
### 个人疲惫和人生的交叉路口
近些年“Linux 中国” 越来越像是一个 “个人” 网站几乎所有的流程都需要我亲自来完成。“Linux 中国” 的公众号自从开设的第一天起,就没有任何一天停止过更新 —— 无论是年三十还是我的身体抱恙,无论是在出差路上还是带家人出游。这两年,我又开始了《硬核观察》栏目,这需要我每天花费数小时采编、录制和发布视频,如今也有了 1263 期,从未停歇。
累吗?累,但更累的是,没有尽头的累。
我今年正好五十岁了,对我来说,这个年龄是我需要重新定位人生的一个标志点。当我三十岁时,我颇有一种 “顿觉昨日非” 的感觉,从此改变了人生轨迹;当我四十岁时,经历了父亲去世、稍后几年弟弟及其他亲人陆续去世的打击;今年,我再次站在人生的交叉口,我想我应该有所改变了。
幸运的是,我一直非常担心的身体健康,目前还算还没有出现大问题。前段时间去做了好几年没敢做的体检,基本上没太大的问题。
### 没有别的选择了吗?
坦白说,我认真反复想过。
但是,我没有找到合适托付 “Linux 中国” 的人或机构。一个不盈利、持续亏损的社区,很难找到能保持其独立性和原则的托付人。
我也不愿意将 “Linux 中国” 所有的资产都卖给商业机构。有人曾经愿意出高价买我们的域名,但是,他们出的价远远买不起我为此出售良心和名誉的代价。
总的来说,就是因为这些大大小小的原因,我做出了艰难的决定,结束这些年的坚持。对不起了,大家。
### 对不起
做这个决定前,我最无法放下的不是我投入的那么多精力,而是那些始终坚定支持 “Linux 中国” 的朋友们。包括那 174 位在微信公众号上“几乎看过你所有的内容”的读者,也包括经常在 B 站上给《硬核观察》留言数百字、期期不落都观看和点评的观众,以及 “Linux 中国” 主网上那些熟悉的评论者的 ID 和定位,他们让我倍感感动和内疚。对不起,是我让你们失望了,辜负了大家的期待和支持。
### 感谢
除了道歉,我还需要感谢很多人。
首先,我要感谢参与过社区的许多人,包括 LCTT 的五百多位贡献者和社区的朋友们。特别要感谢 bestony、geekpi、oska874、lujun9976、vizv、lkxed 等主要贡献者。“Linux 中国” 开源社区,其实是你们的,是大家的,而不是我的。能与大家共同拥有这样一段美好回忆,是我的荣幸。在此,我不能一一尽数所有贡献者,你可以在 https://linux.cn/lctt-list 看到 LCTT 全部贡献者的名单和贡献量。
其次,要感谢在 “Linux 中国” 成长过程中帮助过我们的许多公司。这包括七牛云、阿里云、UCloud、腾讯云、EasyStack、华为、字节跳动、青云、马哥教育、刘遄老师等等以及我一时无法全部记起的朋友们。他们都是我们这些年得以一路走来的助力。
最后,我要感谢那些我可能完全不知道名字的支持过 “Linux 中国” 的人,就像我说的,“你的每次点击和分享都是对我们的支持” 的读者,以及那些在社区活动中总能认出来我的人。
### 接下来
这篇告别信发出后,除非有特殊情况,我将停止在 “Linux 中国” 的主网、公众号、视频号、B 站等所有渠道的内容发布。
我会在春节期间将 “Linux 中国” 所有发布的文章都打包成一份电子书,供大家收藏留用,所以大家不必自己用网络爬虫来抓取了。当然,我们的主网和公众号都会保持相当长的时间的访问,只是我可能不再更新了。
### 至于我个人呢?
我今年计划躺平几个月,然后准备一个人出门走走,或许是自驾,或许是摩旅,去寻找一下人生的意义。我可能会在我的视频号 “**硬核老王**” 中发布我的行程,也可能会停留在某个地方,可能会经过你的城市,也许我们可以把~~酒~~(水)言欢。
江湖再见,诸位。
*题图DA/c42007de-fab5-48c9-9976-3c4ca97bcf6e*
---
“Linux 中国”创始人 硬核老王
2024/2/1

View File

@@ -20,21 +20,7 @@ LCTT 已经拥有几百名活跃成员,并欢迎更多的 Linux 志愿者加
- LCTT 官网: [https://linux.cn/lctt/](https://linux.cn/lctt/)
- LCTT 状态: [https://lctt.github.io/](https://lctt.github.io/)
加入我们
-------------------------------
请首先加入翻译组的 QQ 群,群号是:**198889102**,加群时请说明是“*志愿者*”。
加入的成员,请:
1. 修改你的 QQ 群名片为“译者-您的_GitHub_ID”。
2. 阅读 [WIKI](https://lctt.github.io/wiki) 了解如何开始。
3. 遇到不解之处,请在群内发问。
如何开始
-------------------------------
请阅读 [WIKI](https://lctt.github.io/wiki)。如需要协助,请在群内发问。
**LCTT 已经伴随 Linux 中国开源社区 [停止运营](LinuxChina-End.md) 而停止运作。**
历史
-------------------------------
@@ -76,7 +62,11 @@ LCTT 已经拥有几百名活跃成员,并欢迎更多的 Linux 志愿者加
* 2018/09/10 [LCTT 五周年](https://linux.cn/article-9999-1.html)。
* 2018/10/25 重构了 CI感谢 vizv、lujun9972、bestony。
* 2018/11/13 [成立了项目管理委员会PMC](https://linux.cn/article-10279-1.html),初始成员为:@wxy (主席)、@oska874@lujun9972@bestony@pityonline@geekpi@qhwdw
* 2020/09/10 Linux 中国旗下贡献者组织 [LCTT 七年回顾和展望](https://linux.cn/article-12600-1.html)
* 2022/09/10 开源贡献者翻译组 [LCTT 九岁](https://linux.cn/article-15017-1.html) 啦
* 2023/01/31 发布《[LCTT 术语词典](https://linux.cn/article-15496-1.html)》
* 2023/09/10 [LCTT 10 年,迎来新蜕变](https://linux.cn/article-16178-1.html)
* 2024/02/01 [Linux 中国及 LCTT 停止运营](https://linux.cn/article-16602-1.html)
项目管理委员及核心成员
-------------------------------

View File

@@ -0,0 +1,556 @@
[#]: subject: "ABCs of FreeDOS: 26 commands I use all the time"
[#]: via: "https://opensource.com/article/22/6/26-freedos-commands"
[#]: author: "Jim Hall https://opensource.com/users/jim-hall"
[#]: collector: "lkxed"
[#]: translator: "robsean"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16276-1.html"
FreeDOS 基础:从 A 到 Z
======
![][0]
> 我很高兴分享我最喜欢的 26 个 FreeDOS 命令。
我家最早的一批计算机中有一台运行着一款名称为 DOS 的命令行操作系统,即 “<ruby>磁盘操作系统<rt>Disk Operating System</rt></ruby>”。我是在 DOS 系统环境中长大的,学会了利用命令行来使我的工作更轻松。很多其他的人也是如此。我们非常爱 DOS ,所以在 1994 年 6 月 29 日,我们创建了 FreeDOS 工程。
如果你的 FreeDOS 的初学者,你可能会对如何使用其附带的不同的命令行程序感到困惑。让我们从我最喜欢的 26 个 FreeDOS 命令开始吧。要学习更多的信息,在大部分命令的后面添加 `/?` 选项来获取更多的信息:
```
C:\>attrib /?
ATTRIB v2.1 - 显示或更高文件属性。
版权所有 (c) 1998-2003遵循 GPL2 协议。
语法ATTRIB { options | [path][file] | /@[list] }
选项:
  +H 设置隐藏属性。     -H  清除隐藏属性。
  +S 设置系统属性。     -S  清除系统属性。
  +R 设置只读属性。  -R  清除只读属性。
  +A 设置存档属性。    -A  清楚存档属性。
  /S 处理具体指定路径中的所有目录中的文件。
  /D 处理带有通配符的参数的目录名称。
  /@ 处理文件,文件列在具体指定文件 中 [或 stdin]。
示例:
  attrib file -rhs
  attrib +a -r dir1 dir2*.dat /s
  attrib -hs/sd /@list.txt *.*
```
### A 是 ATTRIB
`ATTRIB` 程序显示或更改文件的 *属性* 。属性可以是以下四个值之一:隐藏(`H`)、系统 `S`)、只读(`R`)、存档(`A`)。
标记为隐藏的文件将不会在目录列表中显示。例如,假设你想隐藏一个名称为 `SECRET.TXT` 的文件,这样就不会有人它在那里。首先,你可以显示该文件的属性,以便查看它的当前设置:
```
C:\FILES>attrib secret.txt
[----A] SECRET.TXT
```
为隐藏这个文件,使用加号(`+`)操作符来开启用隐藏属性,像这样:
```
C:\FILES>attrib +h secret.txt
[----A] -> [-H--A] SECRET.TXT
C:\FILES>dir
 Volume in drive C is FREEDOS2022
 Volume Serial Number is 333D-0B18
 Directory of C:\FILES
.                   <DIR>  05-27-2022  9:22p
..                  <DIR>  05-27-2022  9:22p
         0 file(s)              0 bytes
         2 dir(s)     279,560,192 bytes free
```
`ATTRIB` 的另一种常见使用方法是操作只读属性,这样你就不会意外地覆盖重要的文件。假设你想要保护 `SECRET.TXT` 文件,这样你就不能删除或更改它。使用 `+R` 修饰符 ,打开只读属性,像这样:
```
C:\FILES>attrib +r secret.txt
[----A] -> [---RA] SECRET.TXT
C:\FILES>del secret.txt
C:\FILES\SECRET.TXT: Permission denied
no file removed.
```
### B 是“哔哔”声
如果你需要在一个批处理文件中添加一些激情活力,你可以使用 `BEEP` 命令来获取用户的注意力。`BEEP` 不会在屏幕上显示任何内容,但是会简单地发出一个 “哔哔” 的声音信号。
注意:`BEEP` 使用个人计算机内置的扬声器来发出 “哔哔” 声。如果你使用一台虚拟机器来引导启用 FreeDOS检查你的系统是否建立正确的模拟个人计算机扬声器。否则你将不会听到任何声音。
### C 是 CD
像 Linux 一样FreeDOS 支持目录,这会允许你以一种来你有帮助的方式来组织你的文件。例如,你可以在一个名称为 `FILES` 的目录中存放你的全部文件,对于某些类型的文件,你可能会有其它的目录,例如,针对字处理器文件的 `DOCS` ,或者针对表格文件的 `SPRDSHT`
你可以使用 `CD`(即 “<ruby>更改目录<rt>change directory</rt></ruby>”) 命令来导航到一个目录。`CHDIR` 命令和 `CD` 命令一样,如果你更喜欢使用这种语法的话。
为更改到一个新的目录,使用 `CD` 目录和目标目录:
```
C:\>cd files
C:\FILES>cd sprdsht
C:\FILES\SPRDSHT>dir
Volume in drive C is FREEDOS2022
Volume Serial Number is 333D-0B18
 
Directory of C:\FILES\SPRDSHT
 
. <DIR> 05-27-2022 9:59p
.. <DIR> 05-27-2022 9:59p
FIB WKS 2,093 05-27-2022 10:07p
LAB1 WKS 2,087 05-27-2022 10:10p
MIS100 WKS 2,232 05-27-2022 10:05p
3 file(s) 6,412 bytes
2 dir(s) 279,527,424 bytes free
```
你不必一次导航一层目录。相反,你可以使用一个 `CD` 命令和提供完整的你想要更改到的目录路径:
```
C:\>cd \files\sprdsht
C:\FILES\SPRDSHT>dir
Volume in drive C is FREEDOS2022
Volume Serial Number is 333D-0B18
 
Directory of C:\FILES\SPRDSHT
 
.  <DIR> 05-27-2022 9:59p
.. <DIR> 05-27-2022 9:59p
FIB WKS 2,093 05-27-2022 10:07p
LAB1 WKS 2,087 05-27-2022 10:10p
MIS100 WKS 2,232 05-27-2022 10:05p
3 file(s) 6,412 bytes
2 dir(s) 279,527,424 bytes free
```
### D 是 DELTREE
如果需要删除一个单个文件,你可以使用 `DEL` 命令。为删除一个空的目录,你可以使用 `RMDIR``RD` 命令。但是,如果你想删除一个有很多文件和子目录的目录?
一个包含有其它目录的目录称为 *目录树* 。你可以使用 `DELTREE` 命令来删除整个目录树。例如,为删除你的 `FILES` 目录,包括其中包含的所有的文件和目录,输入这个命令:
```
C:\>deltree files
    [DEFAULT-BUILD v1.02g] of DELTREE.  The "ROOT-SAFETY-CHECK" is enabled.
Delete directory "C:\FILES"
and all its subdirectories?
[Y] [N] [Q], [ENTER] ?  Y
==> Deleting "C:\FILES" ...
```
你可以使用一个单一的 `DELTREE` 命令来轻松快捷地完成很多工作因此FreeDOS 的 `DELTREE` 提示会询问你是否真的想要这样做。谨慎地使用这个命令。
### E 是 EDIT
如果你需要在 FreeDOS 上编辑一个文本文件,`EDIT` 程序会让你轻松快速地完成任务。例如,要开始编辑一个名称为 `HELLO.TXT` 的文件,输入 `EDIT HELLO.TXT` 。如果 `HELLO.TXT` 文件已经存在,`EDIT` 打开文件并开始编辑。如果 `HELLO.TXT` 尚未存在,那么 `EDIT` 为你开启一个新的文件。
![Image of edit][3]
FreeDOS 的 `EDIT` 使用了一种友好的界面,对大多数人来说应该很容易使用。使用菜单来访问 `EDIT` 的各种特色功能,包括保存文件、打开一个新的文件、或者退出编辑器。为访问菜单,在你的键盘上按下 `Alt` 按键,然后使用箭头按键来避开和进入选择的动作。
![Image of save menu][4]
### F 是 FIND
如果你需要在一个文件中查找文本,`FIND` 命令可以完成这项工作。类似于在 Linux 上的 `fgrep` `FIND` 会打印一些包含一个字符串的行。例如,为检查 `FDCONFIG.SYS` 文件中的 "Menu Default" 条目项,像这样使用 `FIND` :
```
C:\>find "MENUDEFAULT" fdconfig.sys
---------------- FDCONFIG.SYS
MENUDEFAULT=2,5
```
如果你不确定你想要查找的字符串是使用的大写字母还是小写字母,添加 `/I` 选项来忽略字母的大小写情况:
```
C:\>find /i "menudefault" fdconfig.sys
---------------- FDCONFIG.SYS
MENUDEFAULT=2,5
```
### G 是 GRAPHICS
如果你想要捕捉屏幕,你可以使用你键盘上的 `PrtScr`<ruby>打印屏幕<rt>Print Screen</rt></ruby>)按键来直接将你显示器上的文本打印到打印机上。不过,这只对纯文本来说有效。如果你要打印图形屏幕,你需要加载 `GRAPHICS` 程序。
`GRAPHICS` 支持不同的打印机类型,包括 HP 的 PCL 打印机、Epson 的点阵打印机,和兼容 PostScript 的打印机。例如,如果有一台连接到你的计算机的 HP 的激光打印机,你可以通过输入这条命令来为这台打印机加载支持:
```
C:\>graphics hpdefault
Running in MS GRAPHICS compatibility mode...
Using HPPCL type for type hpdefault
  If you think this is not correct, mail me (see help text).
Printing black as white and white as black
which internally uses /I of this GRAPHICS.
You can use the following command directly instead of
GRAPHICS [your options] in the future:
LH GRAPH-HP /I
Note that GRAPH-HP allows extra options:
  /E economy mode, /1 use LPT1, /2 use LPT2, /3 use LPT3,
  /R for random instead of ordered dither
  /C for 300dpi instead of 600dpi
Driver to make 'shift PrtScr' key work
even in CGA, EGA, VGA, MCGA graphics
modes loaded, in HP PCL mode.
```
### H 是 HELP
如果你刚刚来到 FreeDOS 的世界,你可以通过输入 `HELP` 来获取如何使用不同命令的提示。这将带来 FreeDOS 的帮助系统,包含所有命令的文档:
![Image of FreeDos help system][6]
### I 是 IF
你可以使用 `IF` 语句来将条件语句添加到你的命令行或*批处理文件* 。`IF` 进行一次简短的测试,然后执行一个单个命令。例如,如果存在某个文件,那么打印结果 “It's there”你可以输入:
```
C:\>if exist kernel.sys echo It's there
It's there
```
如果你想要测试相反的东西,在测试内容前,使用 `NOT` 关键字。例如,如果两个字符串的值不相同,那么打印结果 “Not equal” ,输入这条语句:
```
C:\>if not "a"=="b" echo Not equal
Not equal
```
### J 是 JOIN
早期的 DOS 版本是相当简单的DOS 的第一个版本甚至不支持目录。为向这些较旧的程序提供向后兼容性,我们需要 `JOIN` 程序来作为一种巧妙的应变方法。`JOIN` 使用驱动器字母代替路径,这样,你可以将旧程序放入其自己的子目录中,但是,使用一个单个驱动器字母来访问它。
让我们假设你有一个名称为 `VC` 的旧应用程序,它不懂目录。为保持 `VC` 的工作,你可以将它的路径 <ruby>连接<rt>join</rt></ruby> 到一个驱动器字母。例如:
```
JOIN V: D:\VC
```
FreeDOS 将 `JOIN` 实施为 `SWSUBST`,它也兼备类似 `SUBST` 命令的特色功能。为将 `D:\VC` 路径链接到到一个名称为 `V:` 的驱动器字母,输入:
```
C:\>swsubst v: d:\vc
C:\>dir v:
Volume in drive V is DATA
Volume Serial Number is 212C-1DF8
Directory of V:\
. <DIR> 02-21-2022 10:35p
.. <DIR> 02-21-2022 10:35p
VC COM 27,520 07-14-2019 4:48p
1 file(s) 27,520 bytes
2 dir(s) 48,306,176 bytes free
```
### K 是 KEYB
DOS 默认采用美式英语键盘布局。你的键盘是不同的,你可以使用 `KEYB` 命令来加载新的键盘语言布局。例如,为为加载一种德语键盘布局,输入:
```
C:\>keyb gr
FreeDOS KEYB 2.01 - (c) Aitor Santamaría Merino - GNU GPL 2.0
Keyboard layout : C:\FREEDOS\BIN\KEYBOARD.SYS:GR [858] (3)
```
### L 是 LABEL
FreeDOS 使用 <ruby>标签<rt>label</rt></ruby> 来命名每个软盘驱动器和硬盘驱动器。这些标签提供了一种识别磁盘可能包含内容的方法。当你需要将文件存储到单个不同的软盘上时,`LABEL` 命令是非常有用的,你可以标记一个软盘 “Data”另一个软盘为 “Games” 。
为分配一个新的标签到一个驱动器。或者更改在一个驱动器上的现存标签。像这样使用标签:
```
D:\>label d: data
D:\>dir /w
Volume in drive D is DATA
Volume Serial Number is 212C-1DF8
Directory of D:\
[123] [ABILITY] [ASEASY] [GAMES2] [QUATTRO]
[SRC] [TEMP] [THE] [VC] [WORD]
[WS400] EDLIN16.EXE EDLIN32.EXE MYENV.BAT
3 file(s) 113,910 bytes
11 dir(s) 48,306,176 bytes free
```
### M 是 MEM
运行程序和加载驱动程序会占用内存。可以查看你的系统有多少内存,以及有多少可用来运行 DOS 程序,使用 `MEM` 命令:
```
C:\>mem
Memory Type Total Used Free
---------------- -------- -------- --------
Conventional 639K 11K 628K
Upper 104K 18K 86K
Reserved 281K 281K 0K
Extended (XMS) 15,224K 537K 14,687K
---------------- -------- -------- --------
Total memory 16,248K 847K 15,401K
 
Total under 1 MB 743K 29K 714K
 
Total Expanded (EMS) 8,576K (8,781,824 bytes)
Free Expanded (EMS) 8,192K (8,388,608 bytes)
 
Largest executable program size 628K (643,104 bytes)
Largest free upper memory block 84K ( 85,728 bytes)
FreeDOS is resident in the high memory area.
```
### N 是 NANSI
如果你想添加一点颜色到 FreeDOS 命令行,你可以使用 ANSI 转义序列。这些序列之所以叫“转义”,是因为每个序列都以代码 33转义字符 `ESC`和一个由美国国家标准化协会ANSI定义的特殊字符序列为开头。
FreeDOS 通过 `NANSI.SYS` 驱动程序来支持 ANSI 转义序列。随着 `NANSI` 的加载,你的 FreeDOS 控制台将解释 ANSI 转义序列,例如,设置文本颜色。
![Image of Nansi][8]
### O 是 oZone
FreeDOS 是一款命令行操作系统,但是一些人们更喜欢使用可备选的图形化用户界面。这就是为什么 FreeDOS 的 1.3 发行版包含一些图形化桌面的原因。我喜欢的一款名称为 oZone 的图形化桌面,它提供一种时尚、现代化外观的界面。
![Image of Ozone GUI][9]
注意oZone 有一点烦人的错误,可能还需要一些来自外部开发者的关爱。如果你想让 oZone 变得更好,可以下载源文件代码做些贡献。
### P 是 PROMPT
标准的 FreeDOS 命令行提示符会告诉你:你所在文件系统中的位置。当你第一次启动 FreeDOS 时,你的提示符看起来像 `C:\>`, 这意味着 `\`(根)目录在 `C:` 驱动器。`>` 字符表示着你可以在那里输入命令。
在你的提示符中,如果你更喜欢不同的信息,使用 `PROMPT` 目录来更改它。你可以使用一个带有 `$` 的开头的特殊代码来显示不同的信息,例如,`$D` 用于日期、`$T` 用于时间。例如,你可以使用 `$$` 指令来使你的 FreeDOS 命令行看起来像一个 Linux 提示符,来打印一个单个美元符号:
```
C:\>prompt $$
$
```
输入 `PROMPT /?` 来查看一份全部特殊代码的列表。
### Q 是 QBASIC
FreeDOS 实际上没有 QBASIC 。它是针对 MS-DOS 的专有 BASIC 语言环境。作为备选方案,我们提供一些开放源文件的编译器,包括一些针对 BASIC 编程的编译器。
FreeBASIC 编译器可以编译外来的大多数 QBASIC 程序。这里有一个简单的 “猜数” 示例:
```
dim number as integer
dim guess as integer
randomize timer
number = int( 10 * rnd() ) + 1
print "Guess the number from 1 to 10:"
do
input guess
if guess < number then print "Too low"
if guess > number then print "Too high"
loop while guess <> number
print "That's right!"
```
使用 `FBC` 命令来编译 FreeBASIC 程序:
```
C:\DEVEL\FBC>fbc guess.bas
```
这里是这个简单游戏的快速演示:
```
C:\DEVEL\FBC>guess
Guess the number from 1 to 10:
? 5
Too high
? 3
Too low
? 4
That's right!
```
### R 是 REM
在编写程序时,注释是极好的;注释帮助我们理解程序应该要做什么。可以在批处理文件中使用 `REM` 来做同样的事。在批处理文件中,在 `REM` 的后面的任何东西都将会被忽略。
```
REM this is a comment
```
### S 是 SET
FreeDOS 命令行使用一系列称为 <ruby>环境变量<rt>environment variables</rt></ruby> 的变量,让你来自定义你的系统。你可以使用 `SET` 命令来设置这些变量。例如。使用 `DIRCMD` 变量来控制 `DIR` 如何排列目录列表。为设置 `DIRCMD` 变量,使用 `SET` 命令:
```
SET DIRCMD=/O:GNE
```
这告诉 `DIR` 先按照目录分组(`G`)来排序(`O`)输出,然后再按照名称(`N`)和扩展名(`E`)来排序结果。
### T 是 TYPE
`TYPE` 命令是最常使用的 DOS 命令之一。`TYPE` 显示一个文件的内容,类似于在 Linux 上的 `cat`
```
C:\DEVEL>type hello.c
#include
int
main()
{
puts("Hello world");
return 0;
}
```
### U 是 UNZIP
在 Linux 上,你可能更熟悉标准的 Unix 存档命令: `tar`。在 FreeDOS 上也有一个 `tar` 版本(和其它大量的流行的存档程序),但是,在 DOS 上的事实上的标准的存档命令是 `ZIP``UNZIP` 。两者都默认安装在 FreeDOS 1.3 之中。
比如说,我有一些文件的一个 zip 存档。如果我想提取整个 Zip 文件,我可以只使用 `UNZIP` 命令,并将 Zip 文件作为命令行的选项来提供。这将在我当前工作目录中开始提取存档文件。除非我正在恢复一些东西的先前版本,我通常不希望覆盖我的当前文件。在这种情况下,我将提取存档到一个新的目录。你可以使用 `-d`(“<ruby>目标<rt>destination</rt></ruby>”)命令行选项来具体指定目标路径:
```
D:\SRC>unzip monkeys.zip -d monkeys.new
Warning: TZ environment variable not found, cannot use UTC times!!
Archive: monkeys.zip
creating: monkeys.new/monkeys/
inflating: monkeys.new/monkeys/banana.c
inflating: monkeys.new/monkeys/banana.obj
inflating: monkeys.new/monkeys/banana.exe
creating: monkeys.new/monkeys/putimg/
inflating: monkeys.new/monkeys/putimg/putimg.c
inflating: monkeys.new/monkeys/putimg/putimg.obj
inflating: monkeys.new/monkeys/putimg/putimg.exe
```
为学习更多关于 `ZIP``UNZIP` 命令的信息,可以阅读 [如何在 FreeDOS 上存档文件][11]。
### V 是 VER
在 DOS 的古老岁月中,`VER` 命令会报告你正在运行的 DOS 发行版本例如“MS-DOS 5.0.D”。对于 FreeDOS`VER` 命令将给予你额外的详细信息,例如 FreeDOS Shell 的版本:
```
C:\DEVEL>ver
FreeCom version 0.85a - WATCOMC - XMS_Swap [Jul 10 2021 19:28:06]
```
如果你还想查看 FreeDOS 内核版本和 DOS 兼容性等级,添加 `/R` 选项:
```
C:\DEVEL>ver /r
FreeCom version 0.85a - WATCOMC - XMS_Swap [Jul 10 2021 19:28:06]
DOS version 7.10
FreeDOS kernel 2043 (build 2043 OEM:0xfd) [compiled May 14 2021]
```
### W 是 WHICH
FreeDOS 命令行可以运行来自记录在 `PATH` 变量中的不同的目录列表的程序。你可以使用 `WHICH` 命令来准确地识别出程序的位置。只需要输入 `WHICH` 加上你想要定位的程序名称:
```
C:\>which xcopy
xcopy C:\FREEDOS\BIN\XCOPY.EXE
```
### X 是 XCOPY
`COPY` 命令只能将文件从一个位置复制到另一个位置。如果你想扩大复制的范围来包括一些目录,使用 `XCOPY` 命令。我通常添加 `/E` 选项来包含所有的子目录,包括空的子目录,这样,我可以复制整个目录树。这样就可以有效地备份我正在工作的任意工程:
```
D:\SRC>xcopy /e monkeys monkeys.bak
Does MONKEYS.BAK specify a file name
or directory name on the target (File/Directory)? d
Copying D:\SRC\MONKEYS\PUTIMG\PUTIMG.C
Copying D:\SRC\MONKEYS\PUTIMG\PUTIMG.OBJ
Copying D:\SRC\MONKEYS\PUTIMG\PUTIMG.EXE
Copying D:\SRC\MONKEYS\BANANA.C
Copying D:\SRC\MONKEYS\BANANA.OBJ
Copying D:\SRC\MONKEYS\BANANA.EXE
6 file(s) copied
```
### Y 是 Yellow
这不是一个命令,而是关于 DOS 如何显示颜色的有趣的百科知识。如果你仔细留心过 FreeDOS你可能已经注意到文本只能获取有限的颜色范围—— 十六种文本颜色、八种背景颜色。
IBM 的 5153 彩色显示器,通过点亮不同亮度等级的微小的红、绿、蓝荧光点的方式创建 16 种文本颜色和 8 种背景颜色来为用户显示颜色。早期的个人计算机只能以“标准强度”级别来显示背景颜色;只有文本颜色可以使用明亮颜色。
如果你查看文本颜色,你有黑色、蓝色、绿色、蓝绿色、红色、品红色、橙色和白色。这些颜色的“明亮”版本有亮黑色(暗灰色)、亮蓝色、亮绿色、亮蓝绿色、亮红色、亮品红色、黄色和亮白色。橙色的“明亮”版本有实际上是黄色。没有“亮橙色”。
如果你想要学习更多关于文本颜色的信息,阅读我们关于 [FreeDOS 为什么有 16 种颜色][12] 的文章。
### Z 是 ZIP
你可以在 DOS 命令行中使用 `ZIP` 来创建文件和目录的存档。这是一种很便利的方法:可以备份你的工作,或者发布一个 “软件包” 来在未来的 FreeDOS 发行版中使用。例如,比如说,我想备份我的工程源文件代码,其中包含这些源文件文件:
```
D:\SRC>zip -9r monkeys.zip monkeys
zip warning: TZ environment variable not found, cannot use UTC times!!
adding: monkeys/ (stored 0%)
adding: monkeys/banana.c (deflated 66%)
adding: monkeys/banana.obj (deflated 26%)
adding: monkeys/banana.exe (deflated 34%)
adding: monkeys/putimg/ (stored 0%)
adding: monkeys/putimg/putimg.c (deflated 62%)
adding: monkeys/putimg/putimg.obj (deflated 29%)
adding: monkeys/putimg/putimg.exe (deflated 34%)
```
ZIP 支持很多命令行选项来完成不同的工作,但是,我使用最多的命令行选项是: `-r` 用于递归处理目录和子目录、`-9` 用于提供尽可能大的压缩比。`ZIP``UNZIP` 使用类 Unix 命令行,因此,你可以在短划线后面合并选项: `-9r` 将在 Zip 文件中给予最大压缩比和包括子目录。
关于如何使用 `ZIP``UNZIP` 命令的更多详细信息,阅读 [如何在 FreeDOS 上存档文件][13]。
### 新的 FreeDOS 指南
准备好你的 FreeDOS 旅程的下一步了吗?查看我们的新的电子书,现在开始尝试我们的 FreeDOS !
> **[FreeDOS 使用指南][14]**
> **[深入 FreeDOS 高级指南][15]**
*题图MJ/0b21dcc8-4c8d-457b-9e0d-fbbe5dd08c60*
--------------------------------------------------------------------------------
via: https://opensource.com/article/22/6/26-freedos-commands
作者:[Jim Hall][a]
选题:[lkxed][b]
译者:[robsean](https://github.com/robsean)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://opensource.com/users/jim-hall
[b]: https://github.com/lkxed
[1]: https://opensource.com/sites/default/files/lead-images/freedos-fish-laptop-color.png
[2]: https://opensource.com/article/22/6/linux-attr-command
[3]: https://opensource.com/sites/default/files/2022-06/FREEDedit_0.png
[4]: https://opensource.com/sites/default/files/2022-06/Freededit-save.png
[5]: https://opensource.com/Linux%20find%20cheat%20sheet
[6]: https://opensource.com/sites/default/files/2022-06/Freedhelp.system.png
[7]: https://opensource.com/article/22/6/linux-cheat-command
[8]: https://opensource.com/sites/default/files/2022-06/FreeDnansi.png
[9]: https://opensource.com/sites/default/files/2022-06/FreeDozone.png
[10]: https://opensource.com/article/21/1/fortran
[11]: https://opensource.com/article/21/6/archive-files-freedos
[12]: https://opensource.com/article/21/6/freedos-sixteen-colors
[13]: https://opensource.com/article/21/6/archive-files-freedos
[14]: https://opensource.com/downloads/guide-using-freedos
[15]: https://opensource.com/downloads/advanced-freedos
[0]: https://img.linux.net.cn/data/attachment/album/202310/12/102950rnookbm1124y54k1.jpg

View File

@@ -0,0 +1,132 @@
[#]: subject: "Artificial Intelligence: Explaining the Basics"
[#]: via: "https://www.opensourceforu.com/2022/08/artificial-intelligence-explaining-the-basics/"
[#]: author: "Deepu Benson https://www.opensourceforu.com/author/deepu-benson/"
[#]: collector: "lkxed"
[#]: translator: "toknow-gh"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16326-1.html"
人工智能教程(一):基础知识
======
![][0]
> 如果你是关注计算机领域最新趋势的学生或从业者,你应该听说过人工智能、数据科学、机器学习、深度学习等术语。作为人工智能系列文章的第一篇,本文将解释这些术语,并搭建一个帮助初学者入门的简易教学平台。
如今,计算机科学领域的学生和从业者绝对有必要了解<ruby>人工智能<rt>artificial intelligence</rt></ruby>、<ruby>数据科学<rt>data science</rt></ruby>、<ruby>机器学习<rt>machine learning</rt></ruby>、<ruby>深度学习<rt>deep learning</rt></ruby>方面的基本知识。但是应该从哪里开始呢?
为了找到答案,我浏览了大量人工智能的教材和教程。它们有的从大量数学理论开始,有的用编程语言无关的方式(不要求你了解某一门特定的编程语言)讲解,有的假设你是线性代数、概率论和统计学专家。在很大程度上,它们都很有用。但它们都没有回答最重要的问题:真正的初学者应该从哪里开始学习人工智能?
开始学习人工智能的方式多种多样,但是我对它们各有担忧。涉及太多的数学会让人分心,但如果数学介绍得太少就好像驾驶员不知道汽车引擎在哪里一样。对于未来的人工智能工程师和数据科学家来说,从进阶概念开始讲解是最有效率的方式,因为他们精通线性代数、概率论和统计学。如果从基础知识开始,然后在中间某个地方结束也可以,只要学员想要在这里结束学习。考虑到所有这些事实,我认为初学者的人工智能教程应该从基础知识开始,并以一个实际的人工智能项目结束。这个项目可能很小,但是在相同任务上它将会超越任何传统项目。
本系列将从最基础的知识讲到中等水平内容。除了讨论人工智能,我还希望对相关的话题进行一些澄清,因为人们对人工智能、机器学习、数据科学等术语有很多困惑。人工智能程序是必要的,因为我们每天会产生海量的数据。根据互联网上查询到的结果,我们每天大约会产生 2.5x10<sup>18</sup> 字节的数据。但是,这些数据中的大多数与我们完全无关,包括大量没有价值的 YouTube 视频,不经思考就发送的电子邮件,琐碎的新闻报道等等。然而,这片浩瀚的数据海洋中同样蕴含着无价的宝贵知识。传统软件无法完成处理这些数据的艰巨任务。人工智能是少数能够应对这种信息过载的技术之一。
当谈到到人工智能时,我们还需要区分事实和假象。我记得几年前听一位人工智能专家的演讲。他讲述了一个人工智能图像识别系统,它能近乎绝对准确地分辨西伯利亚雪橇犬和西伯利亚雪狼的图像。在互联网上搜索一下,你会看到这两种动物有多么相似。如果这个系统确实那么准确,它将是人工智能的奇迹。可惜的是,事实并非如此。该图像识别系统只是对图像的背景进行了分类。西伯利亚雪橇犬是家养动物,它的图像背景中几乎总会有一些矩形或圆形的物体。而西伯利亚雪狼是野生动物,它所在的背景中有雪。这些例子导致近年来人们对人工智能提出了准确性担保要求。
确实,最近几年人工智能展现了一些真正的力量。举个简单例子就是 YouTube、Amazon 等网站的推荐系统。很多时候我惊讶于它们的推荐结果,就好像它们会读心术一样。然而不论这些推荐的质量如何,“人工智能到底是好是坏?”都是一个很热门话题。我认为,一个像《终结者》中机器有意识地攻击人类的未来还遥遥无期。然而,前面那句话中的“有意识地”一词非常重要。目前的人工智能系统可能发生故障,并且意外地伤害到人类。但是,许多号称具有人工智能能力的系统实际上只是包含大量分支和循环的常规软件。因此目前可以安全地说,我们还没有在日常生活中看到人工智能的真正威力。不论是好的影响(如治愈癌症),还是坏的影响(合成的世界领导人视频导致的暴动和战争),我们都只能拭目以待了。就个人而言,我相信人工智能是一种福祉,并将大大提高未来几代人的生活质量。
### 什么是人工智能?
在我们进一步探讨之前让我们试着理解人工智能AI、机器学习ML、深度学习DL、数据科学DS等之间的联系和区别。这些术语经常被误用为同义词。图 1 表示了人工智能、机器学习、深度学习和数据科学之间的关系。当然这不是唯一的划分方式,你可能会看到其它的划分图。但在我看来,图 1 是最贴切的,它能够最大程度地概括这些领域之间关系。
![图 1人工智能体系结构和数据科学][1]
在本系列的第一篇文章中,我不会对每个术语定义进行精确的定义。我认为在现阶段,精确地定义它们是适得其反的,是浪费时间。但在后续的文章中,我们将重新讨论这些术语并正式定义它们。目前我们可以暂时把人工智能看作是可以在某种程度上模仿人类智能的程序。那人类智能又是指什么呢?
想象一下你的人工智能程序是一个一岁大的婴儿。这个宝宝会通过听周围人说话来学习母语。他/她将很快学会识别形状,颜色,物体等,没有任何困难。此外,他/她将能够对周围人的情绪做出反应。例如,任何一个三岁的婴儿都知道如何用甜言蜜语让父母给他/她巧克力和棒棒糖。同样,人工智能程序也将能够感知并适应环境,就像婴儿一样。然而,这种真正的人工智能只能在遥远的未来实现。
图 1 显示机器学习是人工智能的真子集,它也是实现人工智能系统的技术之一。机器学习是使用大量数据来训练程序的技术,以便有效地执行必要的任务。它的准确性随着训练集的增大而增加。请注意,还有其它技术用于开发人工智能系统,如基于布尔逻辑的系统,基于模糊逻辑的系统,基于遗传编程的系统等。然而,如今机器学习是实现人工智能系统的最主流的技术。图 1 还显示深度学习是机器学习的真子集,它只是众多机器学习技术中的一种。但目前实际上大多数严肃的机器学习技术都用到了深度学习。在这一点上,我甚至避免尝试定义深度学习。请记住,深度学习涉及到使用大型人工神经网络。
那数据科学(图 1 中的红圈)是做什么的呢?数据科学是计算机科学/数学领域中的一门处理和解读大规模数据的学科。我说的“大”,有多大呢?早在 2010 年Facebook 等一些企业巨头就声称它们的服务器可以处理几 Pb 的数据。当我们说大数据时,通常指的是 Tb 或 Pb 级的数据规模,而不是 Gb 级的。许多数据科学应用涉及人工智能、机器学习和深度学习技术的使用。因此,当我们讨论人工智能时,很难不提到数据科学。数据科学也使用很多传统的编程和数据库管理技术,比如使用 Apache Hadoop 进行大数据分析。
本系列的讨论将主要集中在人工智能和机器学习上,并涉及数据科学。
### 教学环境搭建
在表明了本系列文章的主题后,现在说说本教程的前置条件。你需要一台 Linux 电脑(当然 Windows 或 macOS 机器也可以,只是在一些安装步骤上可能需要额外的协助),并了解基本的数学和计算机编程知识。我希望在细心地阅读本系列文章后,你会感受到人工智能的强大。
用编程语言无关的方式来学习人工智能是可能的但本系列将基于一门编程语言并涉及大量的编程。在决定使用哪一门编程语言之前我们先来回顾一下人工智能、机器学习、深度学习和数据科学领域流行的编程语言。Lisp 是一种函数式编程语言它是最早用于开发人工智能程序的语言之一。Prolog 是一种逻辑编程语言,在 20 世纪 70 年代也被用于同样的目的。我们将在接下来的介绍人工智能历史的文章中更详细地介绍 Lisp 和 Prolog。
如今Java、C、C++、Scala、Haskell、MATLAB、R、Julia 等编程语言也被用于开发人工智能程序。Python 在人工智能程序开发中被广泛使用,这使我们选择它作为本教程的编程语言。但我必须声明,从这里开始做的选择(更确切地说,是我替你做的选择),主要考虑的因素是易用性、受欢迎程度、(在少数情况下)我自己对该软件/技术的适应和熟悉程度、对本教程效率的提升。但同时,我也鼓励你尝试其它的编程语言、软件和工具。也许从长远来看,它们对你来说可能是更好的选择。
现在我们需要立即做出另一个选择:使用 Python 2 还是 Python 3考虑到本系列有许多年轻的读者他们还有漫长的职业生涯我将选择使用 Python 3。在 Ubuntu 系统终端中执行命令 `sudo apt install python3` 安装最新版本的 Python 3你的系统中可能已经安装了 Python 3。在其它 Linux 发行版、Windows 和 macOS 机器上安装 Python 3 也非常容易。执行下面的命令查看安装的 Python 3 的版本:
```
python3 --version
Python 3.8.10
```
在后续的教程中,我们需要安装许多 Python 包,所以需要一个包管理器。目前主流的包管理器有 pip、Conda 和 Mamba 等。我选择 pip 作为包在本教程的管理器。它相对简单,也是推荐的 Python 安装工具。我认为 Conda 和 Mamba 是比 pip 更强大的工具,你可以尝试一下它们。运行命令 `sudo apt install python3-pip` 将在 Ubuntu 系统中安装 pip。pip、Conda 和 Mamba 是跨平台软件,它们可以安装在 Linux、Windows 和 macOS 系统上。运行命令 `pip3 --version` 查看系统中安装的 pip 版本,如下所示:
```
pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)
```
现在我们需要一个 Python 集成开发环境IDE。IDE 能帮助程序员更容易地编写、编译、调试和执行代码。PyCharm、IDLE、Spyder 等都是流行的 Python IDE。然而由于我们的主要目的是开发人工智能和数据科学程序这里考虑另外两个强有力的竞争者 —— JupyterLab 和谷歌 Colab。严格地说它们不仅仅是 IDE它们是非常强大的基于网络的交互式开发环境。两者都可以在网络浏览器上工作并提供强大的功能。JupyterLab 是由非营利组织 Project Jupyter 支持的免费开源软件。谷歌 Colab 遵循 <ruby>免费增值<rt>freemium</rt></ruby> 模式,即基本功能免费,附加功能收费。我认为谷歌 Colab 比 JupyterLab 功能更强大。但是由于谷歌 Colab 的免费增值模式,以及我相对缺乏谷歌 Colab 的使用经验,在本教程中我选择 JupyterLab。但我仍然强烈建议你去了解一下谷歌 Colab。
可以使用命令 `pip3 install JupyterLab` 在本地安装 JupyterLab。执行命令 `jupyter-lab` 将在系统的默认网络浏览器中运行 JupyterLab。Project Jupyter 还提供一个更老的类似系统称为Jupyter Notebook。可以通过 `pip3 install Notebook` 命令在本地安装 Jupyter Notebook`Jupyter Notebook` 运行它。但 Jupyter Notebook 的功能不如 JupyterLab 强大,且官方宣布它最终会被 JupyterLab 取代。在本教程中,我们将在合适的阶段使用 JupyterLab。但在开始阶段我们将使用 Linux 终端来运行 Python 程序,因此急需的是包管理器 pip。
Anaconda 是一个非常流行的 Python 和 R 编程语言发行版,它主要用于机器学习和数据科学领域。作为未来的人工智能工程师和数据科学家,熟悉使用 Anaconda 也是一个不错的选择。
现在我们需要确定最重要的一点 —— 本教程的风格。有大量人工智能开发相关的 Python 库,比如 NumPy、SciPy、Pandas、Matplotlib、Seaborn、TensorFlow、Keras、Scikit-learn 和 PyTorch。许多关于人工智能、机器学习和数据科学的教材和教程都是基于对其中一个或多个库的完整讲解。尽管对特定包的功能进行这样的覆盖讲解是一种高效的方式但我的教程是更面向数学的。我们将首先讨论开发人工智能程序所需的数学概念然后再介绍需要的 Python 基础知识和 Python 库。我们会为了探索实现这些数学概念所需的特性而不断回顾这些 Python 库。有时我也会要求你自己学习一些 Python 和数学的基本概念。
在完成这些准备工作之后,如果我们就在这里结束,任何代码或数学概念都不讲,那将是一种罪过。因此,我们将继续学习人工智能和机器学习中最重要的数学概念:向量和矩阵。
#### 向量和矩阵
矩阵是按行和列排列的数字、符号或数学表达式构成的矩形阵列。图 2 显示了一个 2 × 3 矩阵,它有 2 行和 3 列。如果你熟悉编程,在许多流行的编程语言中这个矩阵可以表示为一个二维数组。只有一行的矩阵称为行向量,只有一列的矩阵称为列向量。<!-- $[11, 22, 33]$ --> <img style="transform: translateY(0.1em); background: white;" src="https://latex.codecogs.com/png.latex?%5B11%2C%2022%2C%2033%5D"> 就是一个行向量。
![图 2一个: A 2 × 3 的矩阵][2]
为什么矩阵和向量在人工智能和机器学习中如此重要呢?人工智能和机器学习中广泛使用线性代数,而矩阵和向量是线性代数的核心。几个世纪以来,数学家们一直在研究矩阵和向量的性质和应用。高斯、欧拉、莱布尼茨、凯利、克莱姆和汉密尔顿等数学家在线性代数和矩阵论领域都有以他们的名字命名的定理。多年来,线性代数中发展出了许多分析矩阵和向量性质的技术。
复杂的数据通常可以很容易用向量或矩阵来表示。举一个简单的例子,从一个人的医疗记录中,可以得到详细的年龄、身高(厘米)、体重(公斤)、收缩压、舒张压和空腹血糖(毫克/分升)。这些信息可以很容易用行向量来表示,<!-- $[60, 160, 90, 130, 95, 160]$ --> <img style="transform: translateY(0.1em); background: white;" src="https://latex.codecogs.com/png.latex?%5B60%2C%20160%2C%2090%2C%20130%2C%2095%2C%20160%5D"> 。人工智能和机器学习的第一个挑战来了:如果医疗记录有十亿条怎么办?即使动用成千上万的专业人员从中手动提取数据,这项任务也是无法完成的。因此,人工智能和机器学习利用程序来提取数据。
人工智能和机器学习的第二个挑战是数据解读。这是一个广阔的领域,有许多技术值得探索。我将在后续文章中介绍相关内容。人工智能和机器学习应用除了面临数学/计算方面的挑战外,还面临硬件方面的挑战。随着处理的数据量的增加,数据存储、处理器速度、功耗等也成为人工智能应用面临的重要挑战。但现在让我们先抛开这些挑战,动手编写第一行人工智能代码。
我们将编写一个简单的 Python 脚本,用来将两个向量相加。我们将用到名为 NumPy 的 Python 库,它支持多维矩阵(数组)的数学运算。用命令 `pip3 install numpy` 为 Python 3 安装 NumPy 包。如果你使用的是 JupyterLab、谷歌 Colab 或 Anaconda那么 NumPy 应该已经被预安装了。但是为了演示,在本系列的前几篇文章中,我们都将在 Linux 终端上操作。在 Linux 终端上执行命令 ` python3` 进入 Python 控制台。在这个控制台中可以逐行执行 Python 代码。图 3 展示了在控制台中逐行运行 Python 代码,将两个向量相加,并输出结果。
![图 3两个向量求和的 Python 代码][3]
首先让我们试着逐行理解这些代码。由于本教程假定的编程经验很少所以我将代码行标记为【基本】或【AI】。标记为【基本】的行是经典 Python 代码标记为【AI】的行是用于开发人工智能程序的代码。通过区分基本和进阶的 Python 代码,我希望具有基本知识和中级编程技能的程序员都能够高效地使用本教程。
```
import numpy as np #【基本】
a = np.array([11, 22, 33]) #【AI】
b = np.array([44, 55, 66]) #【AI】
c = np.add(a, b) #【AI】
print(c) #【基本】
```
`import numpy as np` 导入 numpy 库并将其命名为 `np`。Python 中的 `import` 语句类似于在 C/C++ 用 `#include` 来包含头文件,或者在 Java 中用`import` 来使用包。
`a = np.array([11, 22, 33])` 和 `b = np.array([44, 55, 66]) ` 分别创建了名为 `a` 和 `b` 的一维数组(为了便于理解,目前假设向量等价于一维数组)。
`c = np.add(a, b)` 将向量 `a` 和`b` 相加,并将结果存储在名为 `c` 的向量中。当然,用 `a``b``c` 作为变量名是一种糟糕的编程实践,但数学家倾向于将向量命名为 <!-- $u$ --> <img style="transform: translateY(0.1em); background: white;" src="https://latex.codecogs.com/png.latex?u">、<!-- $v$ --> <img style="transform: translateY(0.1em); background: white;" src="https://latex.codecogs.com/png.latex?v">、<!-- $w$ --> <img style="transform: translateY(0.1em); background: white;" src="https://latex.codecogs.com/png.latex?w"> 等。如果你完全没有 Python 编程经验,请自行了解 Python 变量的相关知识。
`print(c)` 在终端上打印对象的值,即向量 `[55 77 99]`。你可以暂时这样理解向量相加, `c = [55=11+44 77=22+55 99=33+66]`。如果你想正式地了解向量和矩阵是如何相加的,但手头又没有相关的教材,我建议阅读维基百科上关于矩阵加法的文章。在网上搜索一下就会发现,用经典的 C/C++ 或 Java 程序来实现向量相加需要更多的代码。这说明 Python 很适合处理向量和矩阵。当我们执行越来越复杂的向量运算时Python 的强大将进一步显现。
在我们结束本文之前,我要做两个声明。第一,上面讨论的示例只处理了两个行向量(确切地说是 1 x 3 的矩阵)的相加,但真正的机器学习应用可能要处理 1000000 X 1000000 的矩阵。但不用担心,通过练习和耐心,我们将能够处理这些问题。第二,本文中给出许多定义包含了粗略的简化和不充分的描述。但如前面所说,在本系列结束之前,我将给这些模糊的术语下一个正式的定义。
现在我们该结束这篇文章了。我希望所有人都安装文中提到的必要软件,并运行本文中的代码。在下一篇文章中,我们将首先讨论人工智能的历史、范畴和未来,然后深入探讨线性代数的支柱——矩阵论。
*题图MJ/25071901-abc4-4144-bf27-4d98bb1d9301/*
--------------------------------------------------------------------------------
via: https://www.opensourceforu.com/2022/08/artificial-intelligence-explaining-the-basics/
作者:[Deepu Benson][a]
选题:[lkxed][b]
译者:[toknow-gh](https://github.com/toknow-gh)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://www.opensourceforu.com/author/deepu-benson/
[b]: https://github.com/lkxed
[1]: https://www.opensourceforu.com/wp-content/uploads/2022/05/Figure-1-The-AI-hierarchy-and-data-science.jpg
[2]: https://www.opensourceforu.com/wp-content/uploads/2022/05/Figure-2-A-2-X-3-matrix.jpg
[3]: https://www.opensourceforu.com/wp-content/uploads/2022/05/Figure-3-Python-code-to-find-the-sum-of-two-row-vectors.jpg
[0]: https://img.linux.net.cn/data/attachment/album/202310/29/155650e3vap2on6vwrrmpx.jpg

View File

@@ -0,0 +1,87 @@
[#]: subject: "Security buzzwords to avoid and what to say instead"
[#]: via: "https://opensource.com/article/22/9/security-buzzword-alternatives"
[#]: author: "Seth Kenlon https://opensource.com/users/seth"
[#]: collector: "lkxed"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16325-1.html"
“安全”这个热词:应避免使用还是该更直接了当?
======
![][0]
> 思考一下,如何在你的开源项目中真正定义安全性吧。
科技行业以创造“热词”而小有名气,当然,其他行业也是如此。譬如,“故事驱动”和“轻规则”是当下流行的桌游概念,“解构”的汉堡和墨西哥卷饼在高级餐厅颇受欢迎。然而,技术热词的问题在于,它们可能直接影响你的生活。当某人标榜应用程序“安全”,以此来吸引你使用他们的产品,产品实际上是在暗示一种承诺:“安全”的含义就是它是安全的,它值得你的使用与信任。但问题是,“安全”这个词可能指的是许多事情,技术行业常将它用作一个过于泛化的术语,以至于它逐渐失去了实际含义。
由于“安全”一词可能含义丰富,也可能一无是处,使用它就需要慎之又慎。事实上,最好是尽量避免使用这个词,取而代之的是,诉诸你真正要表达的东西。
### 当 “安全” 意味着加密
有时候,“安全” 会被作为 *加密* 的非常不明确的简短表述。在这种情况下,“安全” 指的是,对于外部观察者想要窃听你的数据,要经过一定的困难。
**避免这样表述:**“本网站稳如磐石且安全无忧。”
听起来很棒?你可能会想象一个拥有多重二次验证、零知识证明数据存储以及坚决的匿名策略的网站。
**你可以这么说:**“本网站承诺有 99% 的在线时间,并且其流量都通过 SSL 进行加密和验证。”
这样一来,承诺的含义变得清晰了,同时也明确了实现 “安全” 的方法(即使用 SSL以及 “安全“ 的作用范围是什么。
注意,这里并未对隐私或匿名做出任何明确的承诺。
### 当 “安全” 意味着访问限制
有时,“安全” 这个词是指应用程序或设备的访问权限。如果没有明确的解释,“安全” 可能涵盖从无效的“隐蔽即安全”模式,到简单的 htaccess 密码,直到生物识别扫描器等各种概念。
**避免这样表述:**“我们已经为你防护好了系统。”
**你可以这么说:**“我们的系统采用了二步验证法。”
### 当 “安全” 意味着数据存储
“安全” 这个词也可以指你的数据在服务器或设备上的储存方法。
**避免这样表述:**“这个设备在数据存储上考虑了安全因素。”
**你可以这么说:**“这个设备利用全盘加密技术来保护你的数据。”
当提到远程存储时,“安全” 可能更多指的是谁可以访问存储数据。
**避免这样表述:**“你的数据是安全的。”
**你可以这么说:**“你的数据经过 PGP 加密,仅你持有私钥。”
### 当 “安全” 意味着隐私
今天,“隐私” 一词几乎和 “安全” 一样宽泛且模糊。一方面,“安全” 似乎必然就涉及 “隐私”,然而,这仅在 '安全' 有明确定义时才成立。是因为设有密码阻止外人进入所以称之为私有吗?还是因为数据已加密且仅你拥有密钥所以归为私有?又或者,由于存储你数据的厂商除了 IP 地址外对你一无所知,这才算是私有?光是口头声明 “隐私”,就像未经说明就声明 “安全” 一样,是不够的。
**避免这样表述:**“你的数据在我们这里是安全的。”
**你可以这么说:**“你的数据经 PGP 加密,且只有你拥有私钥。我们不需要你的任何个人信息,唯一能识别你的只有你的 IP 地址。”
一些网站会声明 IP 地址在日志中保留期限,及非经法律授权绝不向执法部门交出用户数据等诸多承诺。虽然这些并不属于技术 “安全” 的范畴,但它们全都涉及的是信任度,你不能将这些看作是技术规格。
### 明确所说
科技是个复杂的话题,极易引发混淆。沟通是至关重要的,虽然有时候简拼和专有名词在某些场合可能管用,但通常来说,讲明白总是比较好的。当你对你的项目的 “安全” 感到自豪,不要只用模糊的词语进行简述。向其他人明确你具体做了什么来保护你的用户,同时也要明确你认为哪些事物已超出你的考量范围,并要经常进行这样的沟通。“安全” 是个好特点,但它的涵盖面过广,所以请勿畏于夸赞自己在某个具体方向上的特别之处。
*题图MJ/b8cc54ee-5556-4106-b9fa-b08539452aa7*
--------------------------------------------------------------------------------
via: https://opensource.com/article/22/9/security-buzzword-alternatives
作者:[Seth Kenlon][a]
选题:[lkxed][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://opensource.com/users/seth
[b]: https://github.com/lkxed
[1]: https://opensource.com/sites/default/files/lead-images/security-lock-password.jpg
[0]: https://img.linux.net.cn/data/attachment/album/202310/28/095718zso6aaitoyyv4ain.jpg

View File

@@ -0,0 +1,96 @@
[#]: subject: "6 Python interpreters to try in 2022"
[#]: via: "https://opensource.com/article/22/9/python-interpreters-2022"
[#]: author: "Stephan Avenwedde https://opensource.com/users/hansic99"
[#]: collector: "lkxed"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16294-1.html"
六大 Python 解释器
======
![][0]
> 观察你的代码在其他解释器下运行的表现或许是一项有趣的尝试。
作为最受欢迎的编程语言之一Python 需要一个解释器来执行其代码所定义的命令。与其他可直接编译成机器代码的语言不同Python 代码需要解释器读取它并把它转译给进行相关操作的 CPU。那么哪些解释器有哪些呢本文将对其中几种进行介绍。
### 解释器简介
提到 Python 解释器,我们通常会想到 `/usr/bin/python` 这个二进制文件。它使你能够执行 `.py` 文件。然而,解释操作仅仅是其中一环。在 Python 代码真正被 CPU 执行之前,都需要经过以下四个步骤:
1. 词法分析 - 将人类编写的源代码转换为一序列逻辑实体,被称为 <ruby>词法标记<rt>lexical token</rt></ruby>。
2. 解析 - 解析器会检查词法标记的语法和语义规则生成 <ruby>抽象语法树<rt>abstract syntax tree</rt></ruby>AST
3. 编译 - 编译器会根据 AST 创建 Python 字节码,这些字节码由非常基础的,和平台无关的指令组成。
4. 解释 - 解释器处理字节码并执行特定的操作。
如你所见,在任何实质性的操作发生之前,我们需要走过这些步骤。这也解释了深入研究不同解释器的重要性。
### 1、CPython
作为 Python 的参考实现,[CPython][2] 默认地被许多系统所采用。如其名称所示CPython 是用 C 语言编写的。这也意味着,我们可以 [以 C 语言编写扩展][3],从而让 Python 打通到广泛使用的 C 语言库代码。CPython 广泛应用于各种平台,包括 ARM 和 RISC。然而作为 Python 的参考实现CPython 更注重精细的优化,而非运行速度。
### 2、Pyston
[Pyston][4] 是一个从 CPython 解释器衍生出的分支,其中实现了性能优化。该项目定位自己为标准 CPython 解释器在处理大型、真实世界应用时的替代品,并有可能加速高达 30%。由于缺乏兼容的二进制包Pyston 在下载过程中需要重新编译。
### 3、PyPy
采用了 RPython 编写的 [PyPy][5] 是一个专为 Python 配备的 [即时JIT][6] 编译器RPython 是 Python 的一个静态类型的子集。不同于 CPython 解释器PyPy 对源代码进行编译,生成 CPU 可直接执行的机器码。PyPy 是 Python 开发者的实验室,在这里他们能更容易地测试新特性。
相较于 CPythonPyPy 的执行速度更快。由于 JIT 编译器的特性长时间运行的应用更能从缓存中受益。PyPy 可以被视为 CPython 的有效替代。虽然其中存在一些缺点,大部分的 C 扩展模块在 PyPy 中也得到支持但运行速度会相对慢一些。PyPy 扩展模块使用 Python而不是 C编写这使 JIT 编译器能够对其进行优化。只要你的应用程序不依赖于不兼容的模块PyPy 就是替换 CPython 的理想选择。你可以在项目官网找到一个专门的页面,详细描述 PyPy 与 CPython 的不同之处:[PyPy 与 CPython 的差异][7]
### 4、RustPython
顾名思义,[RustPython][8] 是一个由 Rust 编写的 Python 解释器。尽管 Rust 如今还是一个相对年轻的编程语言,但因其优良特性已逐步受到开发者的推崇,甚至被视为 C 和 C++ 的可能接班人。默认情况下RustPython 的行为与 CPython 的解释器类似,但它也可以选择启用 JIT 编译器。值得一提的是Rust 工具链能直接编译为 [WebAssembly][9] ,进而允许在浏览器中全面运行解释器。你可以在 [这里][10] 看到它的在线演示。
### 5、Stackless Python
[Stackless Python][11] 自称是 Python 编程语言的增强版本。该项目基本上是 CPython 解释器衍生的一个项目,其为该语言添加了微线程、通道和调度器。微线程可以帮助你将代码组织成可以并行运行的 “<ruby>小任务<rt>tasklet</rt></ruby>”。这与采用 [greenlet][12] 模块的绿色线程模型相似。通道可以用作 “小任务” 之间的双向通信。Stackless Python 的一个知名用户是大型多人在线角色扮演游戏 [Eve Online][13]。
### 6、Micro Python
如果你的目标平台是微控制器,那么 [MicroPython][14] 将是你的首选。它是一种极简的实现,只需要 16kB 的内存和 256kB 的存储空间。由于其主要面向的是嵌入式环境MicroPython 的标准库只包含 CPython 丰富的 STL 的一部分。对于开发和测试或者作为轻量级替代品MicroPython 也可以在普通的 x86 和 x64 系统上运行。MicroPython 支持 Linux、Windows以及多种微控制器。
### 性能
就其设计而言Python 本质上是一种运行速度不够快的语言。根据任务性质的不同,各种解释器间存在明显的性能差异。要想弄清楚哪种解释器最适合特定任务,可以参考 [pybenchmarks.org][15]。与使用解释器相比,另一种选择是直接将 Python 二进制代码编译成机器码,例如,[Nuitka][16] 就是能够完成这种工作的项目之一,它可以将 Python 代码编译成 C 代码,然后将 C 代码通过常规的 C 编译器编译成机器码。Python 编译器的主题范围广泛,值得一篇独立的文章来详述。
### 总结
Python 是构建快速原型和自动化任务的优秀语言,同时它又易于学习,对初学者友好。如果你平时维持使用 CPython那么尝试看看你的代码在另一解释器上运行会是什么样子也许会很有趣。如果你是 Fedora 用户,你可以轻松地测试几种其他解释器,因为其包管理器已经提供了需要的二进制文件。你可以在 [fedora.developer.org][17] 上查找更多信息。
*题图MJ/9b24f27b-bd2b-4916-9f33-bcfb9e2b1d33*
--------------------------------------------------------------------------------
via: https://opensource.com/article/22/9/python-interpreters-2022
作者:[Stephan Avenwedde][a]
选题:[lkxed][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://opensource.com/users/hansic99
[b]: https://github.com/lkxed
[1]: https://opensource.com/sites/default/files/lead-images/python-programming-code-keyboard.png
[2]: https://github.com/python/cpython#general-information
[3]: https://opensource.com/article/21/4/cython
[4]: https://github.com/pyston/pyston
[5]: https://foss.heptapod.net/pypy/pypy
[6]: https://en.wikipedia.org/wiki/Just-in-time_compilation
[7]: https://doc.pypy.org/en/latest/cpython_differences.html
[8]: https://github.com/RustPython/RustPython
[9]: https://opensource.com/article/21/3/webassembly-firefox
[10]: https://rustpython.github.io/demo/
[11]: https://github.com/stackless-dev/stackless
[12]: https://pypi.org/project/greenlet/
[13]: https://www.eveonline.com/
[14]: https://micropython.org
[15]: https://pybenchmarks.org/
[16]: https://github.com/Nuitka/Nuitka
[17]: https://developer.fedoraproject.org/tech/languages/python/multiple-pythons.html
[0]: https://img.linux.net.cn/data/attachment/album/202310/17/232316oa6pjbza2az2b5hv.jpg

View File

@@ -2,93 +2,96 @@
[#]: via: "https://ostechnix.com/monitor-user-activity-linux/"
[#]: author: "sk https://ostechnix.com/author/sk/"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16297-1.html"
How To Monitor User Activity In Linux
如何在 Linux 中监控用户活动
======
As a Linux administrator, you need to keep track of all users' activities. When something goes wrong in the server, you can analyze and investigate the users' activities, and try to find the root cause of the problem. There are many ways to **monitor users in Linux**. In this guide, we are going to talk about **GNU accounting utilities** that can be used to **monitor the user activity in Linux**.
### What are Accounting utilities?
![][0]
The Accounting utilities provides the useful information about system usage, such as connections, programs executed, and utilization of system resources in Linux. These accounting utilities can be installed using **psacct** or **acct** package.
作为一位 Linux 管理员,你需要跟踪所有用户的活动。当服务器发生故障时,你可以分析和查看用户活动,以便寻找问题的根源。监控 Linux 用户有多种方式。本指南将专门讨论 **GNU 记账工具**,这是一项用于监视 Linux 用户活动的实用工具。
The psacct or acct are same. In RPM-based systems, it is available as psacct, and in DEB-based systems, it is available as acct.
### 什么是记账工具?
What is the use of psacct or acct utilities? You might wonder. Generally, the user's command line history details will be stored in **.bash_history** file in their $HOME directory. Some users might try to edit, modify or delete the history.
记账工具可以提供诸如 Linux 系统中的连接、已执行的程序以及系统资源的使用等有底系统使用信息。这些记账工具可以通过 `psacct``acct` 软件包安装。
However, the accounting utilities will still be able to retrieve the users activities even though they [cleared their command line history][1] completely. Because, **all process accounting files are owned by root** user, and the normal users can't edit them.
`psacct``acct` 实际上是相同的。在基于 RPM 的系统中,它以 `psacct` 的形式存在;而在基于 DEB 的系统中,它作为 `acct` 提供。
### Install psacct or acct in Linux
你可能想知道 `psacct``acct` 工具的作用。通常,用户在命令行的历史记录会保存在他们的 `$HOME` 目录下的 `.bash_history` 文件中。有些用户可能会尝试编辑、修改或删除这些历史记录。
The psacct/acct utilities are packaged for popular Linux distributions.
然而,即使他们完全 [清除了命令行历史][1],记账工具依然能够获取用户活动信息。这是因为,**所有进程记账文件都由 root 用户拥有**,而普通用户则无法进行编辑。
To install psacct in Alpine Linux, run:
### Linux 中如何安装 psacct 或 acct
`psacct`/`acct` 被打包在多种流行的 Linux 发行版本中。
如果要在 Alpine Linux 中安装 `psacct`,请运行以下命令:
```
$ sudo apk add psacct
```
To install acct in Arch Linux and its variants like EndeavourOS and Manjaro Linux, run:
如果在 Arch Linux 及其变体版本(如 EndeavourOS Manjaro Linux)中安装 `acct`,请运行以下命令:
```
$ sudo pacman -S acct
```
On Fedora, RHEL, and its clones like CentOS, AlmaLinux and Rocky Linux, run the following command to install psacct:
FedoraRHEL 及其衍生版本(如 CentOSAlmaLinux Rocky Linux)中安装 `psacct`,请运行以下命令:
```
$ sudo dnf install psacct
```
In RHEL 6 and older versions, you should use `yum` instead of `dnf` to install psacct.
RHEL 6 以及更早版本中,你应当使用 `yum` 命令而非 `dnf` 来安装 `psacct`
```
$ sudo yum install psacct
```
On Debian, Ubuntu, Linux Mint, install acct using command:
DebianUbuntu 以及 Linux Mint 中,通过如下命令来安装 `acct`
```
$ sudo apt install acct
```
To install acct on openSUSE, run:
若在 openSUSE 中安装 `acct`,则运行:
```
$ sudo zypper install acct
```
### Start psacct/acct service
### 启动 psacct/acct 服务
To enable and start the psacct service, run:
要启用并开启 `psacct` 服务,请执行以下命令:
```
$ sudo systemctl enable psacct
```
接着启动 `psacct` 服务:
```
$ sudo systemctl start psacct
```
To check if psacct service is loaded and active, run:
如果你需要检查 `psacct` 服务是否已加载和激活,可以运行:
```
$ sudo systemctl status psacct
```
On DEB-based systems, the acct service will be automatically started after installing it.
在基于 DEB 的系统中,安装完成之后,`acct` 服务会自动启动。
You can verify whether acct service is started or not using command:
如果你想验证 `acct` 服务是否已经启动,可以执行以下命令:
```
$ sudo systemctl status acct
```
**Sample output:**
```
● acct.service - Kernel process accounting
Loaded: loaded (/lib/systemd/system/acct.service; enabled; vendor preset: enabled)
@@ -103,48 +106,46 @@ Oct 13 16:06:35 ubuntu2204 accton[3241]: Turning on process accounting, file set
Oct 13 16:06:35 ubuntu2204 systemd[1]: Finished Kernel process accounting.
```
> **Download** - [Free eBook: "Nagios Monitoring Handbook"][2]
### 利用 psacct 或 acct 来监测 Linux 中的用户活动
### Monitor User Activity in Linux using psacct or acct
`psacct`(进程记账)软件包包含以下用来监测用户和进程活动的工具:
The psacct (Process accounting) package contains following useful utilities to monitor the user and process activities.
* `ac` - 提供用户登录时间的统计信息。
* `lastcomm` - 展示先前执行过的命令的信息。
* `accton` - 开启或关闭进程记账。
* `dump-acct` - 把 `accton` 的输出文件转化为易读的格式。
* `dump-utmp` - 以易读的方式打印 `utmp` 文件。
* `sa` - 汇总信息,关于先前执行的命令。
* ac - Displays statistics about how long users have been logged on.
* lastcomm - Displays information about previously executed commands.
* accton - Turns process accounting on or off.
* dump-acct - Transforms the output file from the accton format to a human-readable format.
* dump-utmp - Prints utmp files in human-readable format.
* sa - Summarizes information about previously executed commands.
现在就让我们一起了解如何通过每个工具来监控 Linux 用户的活动。
Let us learn how to monitor the activities of Linux users by using each utility with examples.
#### 1、使用 ac 命令
#### 1. The ac command examples
`ac` 工具可以为你提供以小时为单位的连接时间报告,这样你就能知道用户或一组用户连接到系统的时长。
The **ac** utility will display the report of connect time in hours. It can tell you how long a user or group of users were connected to the system.
##### 1.1. Display total connect time of all users
##### 1.1、展示所有用户的总连接时间
```
$ ac
```
This command displays the total connect time of all users in hours.
上述命令会显示所有用户的总连接时间(单位为小时)。
```
total 52.91
```
![Display total connect time of all users][3]
![展示所有用户的总连接时间][3]
##### 1.2. Show total connect of all users by day-wise
##### 1.2、按日期排序显示所有用户的总连接时间
You can sort this result by day-wise by using **-d** flag as shown below.
你可以通过使用 `-d` 参数,按日期排序显示所有用户的连接时间,操作如下:
```
$ ac -d
```
**Sample output:**
示例输出:
```
May 11 total 4.29
@@ -161,17 +162,17 @@ Jul 19 total 1.95
Today total 0.29
```
![Show total connect of all users by day-wise][4]
![按日期排序显示所有用户的总时间][4]
##### 1.3. Get total connect time by user-wise
##### 1.3、获取各个用户的总连接时间
Also, you can display how long each user was connected with the system with **-p** flag.
使用 `-p` 参数,你可以查看每位用户各自在系统中总的连接时长。
```
$ ac -p
```
**Sample output:**
示例输出:
```
ostechnix 52.85
@@ -179,31 +180,31 @@ root 0.51
total 53.36
```
![Get total connect time by user-wise][5]
![获取各个用户的总连接时间][5]
##### 1.4. Print total connect time of a specific user
##### 1.4、显示指定用户的总连接时间
And also, you can display the individual user's total login time as well.
你还可以显示特定用户的总登录时间。
```
$ ac ostechnix
```
**Sample output:**
示例输出:
```
total 52.95
```
##### 1.5. View total connect time of a certain user by day-wise
##### 1.5、显示特定用户各日期的总连接时间
To display individual user's login time by day-wise, run:
要按日期查看某个用户的登录时间,可以运行:
```
$ ac -d ostechnix
```
**Sample output:**
示例输出:
```
May 11 total 4.29
@@ -220,25 +221,25 @@ Jul 19 total 1.95
Today total 0.68
```
![View total connect time of a certain user by day-wise][6]
![显示某个用户各日期的总连接时间][6]
For more details, refer the man pages.
如需更多详情,可参考手册页面。
```
$ man ac
```
#### 2. The lastcomm command examples
#### 2lastcomm 命令使用示例
The **lastcomm** utility displays the list of previously executed commands. The most recent executed commands will be listed first.
`lastcomm` 工具用于列出过去执行过的命令,它会按执行的最近程度将命令列在前面。
##### 2.1. Display previously executed commands
##### 2.1、展示过去执行的命令
```
$ lastcomm
```
**Sample output:**
示例输出:
```
systemd-hostnam S root __ 0.06 secs Thu Oct 13 17:21
@@ -260,15 +261,15 @@ bash F ostechni pts/1 0.00 secs Thu Oct 13 17:22
[...]
```
##### 2.2. Print last executed commands of a specific user
##### 2.2、打印特定用户先前执行的命令
The above command displays all user's commands. You can display the previously executed commands by a particular user using command:
上述命令显示的是所有用户的命令。要显示特定用户以前执行的命令,可以使用下面的命令:
```
$ lastcomm ostechnix
```
**Sample output:**
示例输出:
```
less ostechni pts/1 0.00 secs Thu Oct 13 17:26
@@ -289,15 +290,15 @@ dpkg ostechni __ 0.00 secs Thu Oct 13 17:23
[...]
```
##### 2.3. Print total number of command execution
##### 2.3、打印特定命令的执行次数
Also, you can view how many times a particular command has been executed.
你还可以查看特定命令被执行的次数。
```
$ lastcomm apt
```
**Sample output:**
示例输出:
```
apt S root pts/2 0.70 secs Thu Oct 13 16:06
@@ -305,25 +306,25 @@ apt F root pts/2 0.00 secs Thu Oct 13 16:06
apt F root pts/2 0.00 secs Thu Oct 13 16:06
```
As you see in the above output, the `apt` command has been executed three times by `root` user.
如上述输出所示root 用户执行了 `apt` 命令三次。
For more details, refer the man pages.
更详细的信息,可参考手册页:
```
$ man lastcomm
```
#### 3. The sa command examples
#### 3、sa 命令示例
The sa utility will summarize the information about previously executed commands.
`sa` 实用程序将总结关于先前执行的命令的信息。
##### 3.1. Print summary of all commands
##### 3.1、打印所有命令的总结
```
$ sa
```
**Sample output:**
示例输出:
```
1522 1598.63re 0.23cp 0avio 32712k
@@ -346,15 +347,15 @@ $ sa
[...]
```
##### 3.2. View number of processes and CPU minutes
##### 3.2、查看进程数量和 CPU 分钟数
To print the number of processes and number of CPU minutes on a per-user basis, run `sa` command with `-m` flag:
要打印基于每个用户的进程数量和 CPU 分钟数,运行带 `-m` 标志的 `sa` 命令:
```
$ sa -m
```
**Sample output:**
示例输出:
```
1525 1598.63re 0.23cp 0avio 32651k
@@ -370,15 +371,15 @@ sshd 1 0.05re 0.00cp 0avi
whoopsie 1 0.00re 0.00cp 0avio 8552k
```
##### 3.3. Print user id and command name
##### 3.3、打印用户 ID 和命令名称
For each command in the accounting file, print the userid and command name using `-u` flag.
对于账户文件中的每个命令,使用 `-u` 标志打印用户 ID 和命令名称。
```
$ sa -u
```
**Sample output:**
示例输出:
```
root 0.00 cpu 693k mem 0 io accton
@@ -397,27 +398,27 @@ root 0.00 cpu 911k mem 0 io gzip
[...]
```
For more details, refer the man pages.
如需更多详细信息,请参考手册页:
```
$ man sa
```
#### 4. The dump-acct and dump-utmp command examples
#### 4dump-acct dump-utmp 命令
The **dump-acct** utility displays the output file from the accton format to a human-readable format.
`dump-acct` 实用工具将 accton 格式的输出文件显示为人类可读的格式。
```
$ dump-acct /var/account/pacct
```
dump-utmp displays utmp files in human-readable format.
`dump-utmp` 将 utmp 文件显示为人类可读的格式。
```
$ dump-utmp /var/run/utmp
```
For more details, refer the man pages.
如需了解更多详情,请参考手册页:
```
$ man dump-acct
@@ -427,35 +428,37 @@ $ man dump-acct
$ man dump-utmp
```
#### 5. The accton command examples
#### 5accton 命令
The accton command will allow you to turn on or turn off accounting.
`accton` 命令将允许你开启或关闭记账。
To turn on process accounting, run:
要开启进程记账,请运行:
```
$ accton on
```
To turn it off, run:
要关闭它,运行:
```
$ accton off
```
For more details, refer the man pages.
如需了解更多详情,请参考手册页:
```
$ man accton
```
### Conclusion
### 总结
Every Linux administrator should be aware of GNU accounting utilities to keep an eye on all users. These utilities will be quite helpful in troubleshooting time.
每个 Linux 管理员都应该知道 GNU 记账实用程序,以便注意所有用户的行为。在故障排除时,这些实用程序会非常有帮助。
**Resource:**
### 资源
* [The GNU Accounting Utilities website][7]
* [GNU 记账实用程序官网][7]
*题图MJ/da3f7e79-2a53-4121-a2ed-d63a22c3d3f4*
--------------------------------------------------------------------------------
@@ -463,8 +466,8 @@ via: https://ostechnix.com/monitor-user-activity-linux/
作者:[sk][a]
选题:[lkxed][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
@@ -477,3 +480,4 @@ via: https://ostechnix.com/monitor-user-activity-linux/
[5]: https://ostechnix.com/wp-content/uploads/2022/10/Get-total-connect-time-by-user-wise.png
[6]: https://ostechnix.com/wp-content/uploads/2022/10/View-total-connect-time-of-a-certain-user-by-day-wise.png
[7]: https://www.gnu.org/software/acct/manual/accounting.html
[0]: https://img.linux.net.cn/data/attachment/album/202310/19/105911voe22858b5o7287s.jpg

View File

@@ -0,0 +1,517 @@
[#]: subject: "Making a DNS query in Ruby from scratch"
[#]: via: "https://jvns.ca/blog/2022/11/06/making-a-dns-query-in-ruby-from-scratch/"
[#]: author: "Julia Evans https://jvns.ca/"
[#]: collector: "lujun9972"
[#]: translator: "Drwhooooo"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16312-1.html"
从零开始,运用 Ruby 语言创建一个 DNS 查询
======
![][0]
大家好!前段时间我写了一篇关于“[如何用 Go 语言建立一个简易的 DNS 解析器][1]”的帖子。
那篇帖子里我没写有关“如何生成以及解析 DNS 查询请求”的内容,因为我觉得这很无聊,不过一些伙计指出他们不知道如何解析和生成 DNS 查询请求,并且对此很感兴趣。
我开始好奇了——解析 DNS __ 花多大功夫?事实证明,编写一段 120 行精巧的 Ruby 语言代码组成的程序就可以做到,这并不是很困难。
所以,在这里有一个如何生成 DNS 查询请求,以及如何解析 DNS 响应报文的速成教学!我们会用 Ruby 语言完成这项任务,主要是因为不久以后我将在一场 Ruby 语言大会上发表观点,而这篇博客帖的部分内容是为了那场演讲做准备的。:)
(我尽量让不懂 Ruby 的人也能读懂,我只使用了非常基础的 Ruby 语言代码。)
最后,我们就能制作一个非常简易的 Ruby 版本的 `dig` 工具,能够查找域名,就像这样:
```
$ ruby dig.rb example.com
example.com 20314 A 93.184.216.34
```
整个程序大概 120 行左右,所以 _并不_ 算多。(如果你想略过讲解,单纯想去读代码的话,最终程序在这里:[dig.rb][2]。)
我们不会去实现之前帖中所说的“一个 DNS 解析器是如何运作的?”,因为我们已经做过了。
那么我们开始吧!
如果你想从头开始弄明白 DNS 查询是如何格式化的,我将尝试解释如何自己弄明白其中的一些东西。大多数情况下的答案是“用 Wireshark 去解包”和“阅读 RFC 1035即 DNS 的规范”。
## 生成 DNS 查询请求
### 步骤一:打开一个 UDP 套接字
我们需要实际发送我们的 DNS 查询,因此我们就需要打开一个 UDP 套接字。我们会将我们的 DNS 查询发送至 `8.8.8.8`,即谷歌的服务器。
下面是用于建立与 `8.8.8.8` 的 UDP 连接,端口为 53DNS 端口)的代码。
```
require 'socket'
sock = UDPSocket.new
sock.bind('0.0.0.0', 12345)
sock.connect('8.8.8.8', 53)
```
#### 关于 UDP 的说明
关于 UDP我不想说太多但是我要说的是计算机网络的基础单位是“<ruby>数据包<rt>packet</rt></ruby>”(即一串字节),而在这个程序中,我们要做的是计算机网络中最简单的事情:发送 1 个数据包,并接收 1 个数据包作为响应。
所以 UDP 是一个传递数据包的最简单的方法。
它是发送 DNS 查询最常用的方法,不过你还可以用 TCP 或者 DNS-over-HTTPS。
### 步骤二:从 Wireshark 复制一个 DNS 查询
下一步:假设我们都不知道 DNS 是如何运作的,但我们还是想尽快发送一个能运行的 DNS 查询。获取 DNS 查询并确保 UDP 连接正常工作的最简单方法就是复制一个已经正常工作的 DNS 查询!
所以这就是我们接下来要做的,使用 Wireshark (一个绝赞的数据包分析工具)。
我的操作大致如下:
1. 打开 Wireshark点击 “<ruby>捕获<rt>capture</rt></ruby>” 按钮。
2. 在搜索栏输入 `udp.port == 53` 作为筛选条件,然后按下回车。
3. 在我的终端运行 `ping example.com`(用来生成一个 DNS 查询)。
4. 点击 DNS 查询(显示 “Standard query A example.com”
“A”查询类型“example.com”域名“Standard query”查询类型描述
5. 右键点击位于左下角面板上的 “<ruby>域名系统(查询)<rt>Domain Name System (query)</rt></ruby>”。
6. 点击 “<ruby>复制<rt>Copy</rt></ruby>” ——> “<ruby>作为十六进制流<rt>as a hex stream</rt></ruby>”。
7. 现在
`b96201000001000000000000076578616d706c6503636f6d0000010001`
就放到了我的剪贴板上,之后会用在我的 Ruby 程序里。好欸!
### 步骤三:解析 16 进制数据流并发送 DNS 查询
现在我们能够发送我们的 DNS 查询到 `8.8.8.8` 了!就像这样,我们只需要再加 5 行代码:
```
hex_string = "b96201000001000000000000076578616d706c6503636f6d0000010001"
bytes = [hex_string].pack('H*')
sock.send(bytes, 0)
# get the reply
reply, _ = sock.recvfrom(1024)
puts reply.unpack('H*')
```
`[hex_string].pack('H*')` 意思就是将我们的 16 位字符串转译成一个字节串。此时我们不知道这组数据到底是什么意思,但是很快我们就会知道了。
我们还可以借此机会运用 `tcpdump` ,确认程序是否正常进行以及发送有效数据。我是这么做的:
1. 在一个终端选项卡下执行 `sudo tcpdump -ni any port 53 and host 8.8.8.8` 命令
2. 在另一个不同的终端指标卡下,运行 [这个程序][3]`ruby dns-1.rb`
以下是输出结果:
```
$ sudo tcpdump -ni any port 53 and host 8.8.8.8
08:50:28.287440 IP 192.168.1.174.12345 > 8.8.8.8.53: 47458+ A? example.com. (29)
08:50:28.312043 IP 8.8.8.8.53 > 192.168.1.174.12345: 47458 1/0/0 A 93.184.216.34 (45)
```
非常棒 —— 我们可以看到 DNS 请求(”这个 `example.com` 的 IP 地址在哪里以及响应“在93.184.216.34”)。所以一切运行正常。现在只需要(你懂的)—— 搞清我们是如何生成并解析这组数据的。
### 步骤四:学一点点 DNS 查询的格式
现在我们有一个关于 `example.com` 的 DNS 查询,让我们了解它的含义。
下方是我们的查询16 位进制格式):
```
b96201000001000000000000076578616d706c6503636f6d0000010001
```
如果你在 Wireshark 上搜索,你就能看见这个查询它由两部分组成:
* **请求头**`b96201000001000000000000`
* **语句本身**`076578616d706c6503636f6d0000010001`
### 步骤五:制作请求头
我们这一步的目标就是制作字节串 `b96201000001000000000000`(借助一个 Ruby 函数,而不是把它硬编码出来)。
LCTT 译注:<ruby>硬编码<rt>hardcode</rt></ruby> 指在软件实现上,将输出或输入的相关参数(例如:路径、输出的形式或格式)直接以**常量**的方式撰写在源代码中,而非在运行期间由外界指定的设置、资源、数据或格式做出适当回应。)
那么:请求头是 12 个字节。那些个 12 字节到底意味着什么呢?如果你在 Wireshark 里看看(亦或者阅读 [RFC-1035][4]),你就能理解:它是由 6 个 2 字节大小的数字串联在一起组成的。
这六个数字分别对应查询 ID、标志以及数据包内的问题计数、回答资源记录数、权威名称服务器记录数、附加资源记录数。
我们还不需要在意这些都是些什么东西 —— 我们只需要把这六个数字输进去就行。
但所幸我们知道该输哪六位数,因为我们就是为了直观地生成字符串 `b96201000001000000000000`
所以这里有一个制作请求头的函数(注意:这里没有 `return`,因为在 Ruby 语言里,如果处在函数最后一行是不需要写 `return` 语句的):
```
def make_question_header(query_id)
# id, flags, num questions, num answers, num auth, num additional
[query_id, 0x0100, 0x0001, 0x0000, 0x0000, 0x0000].pack('nnnnnn')
end
```
上面内容非常的短,主要因为除了查询 ID ,其余所有内容都由我们硬编码写了出来。
#### 什么是 `nnnnnn`?
可能能想知道 `.pack('nnnnnn')` 中的 `nnnnnn` 是个什么意思。那是一个向 `.pack()` 函数解释如何将那个 6 个数字组成的数据转换成一个字节串的一个格式字符串。
`.pack` 的文档在 [这里][5],其中描述了 `n` 的含义其实是“将其表示为” 16 位无符号、网络(大端序)字节序’”。
LCTT 译注:<ruby>大端序<rt>Big-endian</rt></ruby>:指将高位字节存储在低地址,低位字节存储在高地址的方式。)
16 个位等同于 2 字节,同时我们需要用网络字节序,因为这属于计算机网络范畴。我不会再去解释什么是字节序了(尽管我确实有 [一幅自制漫画尝试去描述它][6])。
## 测试请求头代码
让我们快速检测一下我们的 `make_question_header` 函数运行情况。
```
puts make_question_header(0xb962) == ["b96201000001000000000000"].pack("H*")
```
这里运行后输出 `true` 的话,我们就成功了。
好了我们接着继续。
### 步骤六:为域名进行编码
下一步我们需要生成 **问题本身**(“`example.com` 的 IP 是什么?”)。这里有三个部分:
* **域名**(比如说 `example.com`
* **查询类型**(比如说 `A` 代表 “IPv4 **A**ddress”
* **查询类**(总是一样的,`1` 代表 **IN**ternet
最麻烦的就是域名,让我们写个函数对付这个。
`example.com` 以 16 进制被编码进一个 DNS 查询中,如 `076578616d706c6503636f6d00`。这有什么含义吗?
如果我们把这些字节以 ASCII 值翻译出来,结果会是这样:
```
076578616d706c6503636f6d00
7 e x a m p l e 3 c o m 0
```
因此,每个段(如 `example`)的前面都会显示它的长度(`7`)。
下面是有关将 `example.com` 翻译成 `7 e x a m p l e 3 c o m 0` 的 Ruby 代码:
```
def encode_domain_name(domain)
domain
.split(".")
.map { |x| x.length.chr + x }
.join + "\0"
end
```
除此之外,,要完成问题部分的生成,我们只需要在域名结尾追加上(查询)的类型和类。
### 步骤七:编写 make_dns_query
下面是制作一个 DNS 查询的最终函数:
```
def make_dns_query(domain, type)
query_id = rand(65535)
header = make_question_header(query_id)
question = encode_domain_name(domain) + [type, 1].pack('nn')
header + question
end
```
这是目前我们写的所有代码 [dns-2.rb][7] —— 目前仅 29 行。
## 接下来是解析的阶段
现在我尝试去解析一个 DNS 查询,我们到了硬核的部分:解析。同样的,我们会将其分成不同部分:
* 解析一个 DNS 的请求头
* 解析一个 DNS 的名称
* 解析一个 DNS 的记录
这几个部分中最难的(可能跟你想的不一样)就是:“解析一个 DNS 的名称”。
### 步骤八:解析 DNS 的请求头
让我们先从最简单的部分开始DNS 的请求头。我们之前已经讲过关于它那六个数字是如何串联在一起的了。
那么我们现在要做的就是:
* 读其首部 12 个字节
* 将其转换成一个由 6 个数字组成的数组
* 为方便起见,将这些数字放入一个类中
以下是具体进行工作的 Ruby 代码:
```
class DNSHeader
attr_reader :id, :flags, :num_questions, :num_answers, :num_auth, :num_additional
def initialize(buf)
hdr = buf.read(12)
@id, @flags, @num_questions, @num_answers, @num_auth, @num_additional = hdr.unpack('nnnnnn')
end
end
```
注: `attr_reader` 是 Ruby 的一种说法,意思是“使这些实例变量可以作为方法使用”。所以我们可以调用 `header.flags` 来查看`@flags`变量。
我们也可以借助 `DNSheader(buf)` 调用这个,也不差。
让我们往最难的那一步挪挪:解析一个域名。
### 步骤九:解析一个域名
首先,让我们写其中的一部分:
```
def read_domain_name_wrong(buf)
domain = []
loop do
len = buf.read(1).unpack('C')[0]
break if len == 0
domain << buf.read(len)
end
domain.join('.')
end
```
这里会反复读取一个字节的数据,然后将该长度读入字符串,直到读取的长度为 0。
这里运行正常的话,我们在我们的 DNS 响应头第一次看见了域名(`example.com`)。
## 关于域名方面的麻烦:压缩!
但当 `example.com` 第二次出现的时候,我们遇到了麻烦 —— 在 Wireshark 中,它报告上显示输出的域的值为含糊不清的 2 个字节的 `c00c`
这种情况就是所谓的 **DNS 域名压缩**,如果我们想解析任何 DNS 响应我们就要先把这个实现完。
幸运的是,这没**那么**难。这里 `c00c` 的含义就是:
* 前两个比特(`0b11.....`)意思是“前面有 DNS 域名压缩!”
* 而余下的 14 比特是一个整数。这种情况下这个整数是 `12``0x0c`),意思是“返回至数据包中的第 12 个字节处,使用在那里找的域名”
如果你想阅读更多有关 DNS 域名压缩之类的内容。我找到了相关更容易让你理解这方面内容的文章: [关于 DNS RFC 的释义][8]。
### 步骤十:实现 DNS 域名压缩
因此,我们需要一个更复杂的 `read_domain_name` 函数。
如下所示:
```
domain = []
loop do
len = buf.read(1).unpack('C')[0]
break if len == 0
if len & 0b11000000 == 0b11000000
# weird case: DNS compression!
second_byte = buf.read(1).unpack('C')[0]
offset = ((len & 0x3f) << 8) + second_byte
old_pos = buf.pos
buf.pos = offset
domain << read_domain_name(buf)
buf.pos = old_pos
break
else
# normal case
domain << buf.read(len)
end
end
domain.join('.')
```
这里具体是:
* 如果前两个位为 `0b11`,那么我们就需要做 DNS 域名压缩。那么:
* 读取第二个字节并用一点儿运算将其转化为偏移量。
* 在缓冲区保存当前位置。
* 在我们计算偏移量的位置上读取域名
* 在缓冲区存储我们的位置。
可能看起来很乱,但是这是解析 DNS 响应的部分中最难的一处了,我们快搞定了!
#### 一个关于 DNS 压缩的漏洞
有些人可能会说,有恶意行为者可以借助这个代码,通过一个带 DNS 压缩条目的 DNS 响应指向这个响应本身,这样 `read_domain_name` 就会陷入无限循环。我才不会改进它(这个代码已经够复杂了好吗!)但一个真正的 DNS 解析器确实会更巧妙地处理它。比如,这里有个 [能够避免在 miekg/dns 中陷入无限循环的代码][9]。
如果这是一个真正的 DNS 解析器,可能还有其他一些边缘情况会造成问题。
### 步骤十一:解析一个 DNS 查询
你可能在想:“为什么我们需要解析一个 DNS 查询?这是一个响应啊!”
但每一个 DNS 响应包含它自己的原始查询,所以我们有必要去解析它。
这是解析 DNS 查询的代码:
```
class DNSQuery
attr_reader :domain, :type, :cls
def initialize(buf)
@domain = read_domain_name(buf)
@type, @cls = buf.read(4).unpack('nn')
end
end
```
内容不是太多:类型和类各占 2 个字节。
### 步骤十二:解析一个 DNS 记录
最让人兴奋的部分 —— DNS 记录是我们的查询数据存放的地方!即这个 “rdata 区域”(“记录数据字段”)就是我们会在 DNS 查询对应的响应中获得的 IP 地址所驻留的地方。
代码如下:
```
class DNSRecord
attr_reader :name, :type, :class, :ttl, :rdlength, :rdata
def initialize(buf)
@name = read_domain_name(buf)
@type, @class, @ttl, @rdlength = buf.read(10).unpack('nnNn')
@rdata = buf.read(@rdlength)
end
```
我们还需要让这个 `rdata` 区域更加可读。记录数据字段的实际用途取决于记录类型 —— 比如一个“A” 记录就是一个四个字节的 IP 地址,而一个 “CNAME” 记录则是一个域名。
所以下面的代码可以让请求数据更可读:
```
def read_rdata(buf, length)
@type_name = TYPES[@type] || @type
if @type_name == "CNAME" or @type_name == "NS"
read_domain_name(buf)
elsif @type_name == "A"
buf.read(length).unpack('C*').join('.')
else
buf.read(length)
end
end
```
这个函数使用了 `TYPES` 这个哈希表将一个记录类型映射为一个更可读的名称:
```
TYPES = {
1 => "A",
2 => "NS",
5 => "CNAME",
# there are a lot more but we don't need them for this example
}
```
`read.rdata` 中最有趣的一部分可能就是这一行 `buf.read(length).unpack('C*').join('.')` —— 像是在说:“嘿!一个 IP 地址有 4 个字节,就将它转换成一组四个数字组成的数组,然后数字互相之间用 . 联个谊吧。”
### 步骤十三:解析 DNS 响应的收尾工作
现在我们正式准备好解析 DNS 响应了!
工作代码如下所示:
```
class DNSResponse
attr_reader :header, :queries, :answers, :authorities, :additionals
def initialize(bytes)
buf = StringIO.new(bytes)
@header = DNSHeader.new(buf)
@queries = (1..@header.num_questions).map { DNSQuery.new(buf) }
@answers = (1..@header.num_answers).map { DNSRecord.new(buf) }
@authorities = (1..@header.num_auth).map { DNSRecord.new(buf) }
@additionals = (1..@header.num_additional).map { DNSRecord.new(buf) }
end
end
```
这里大部分内容就是在调用之前我们写过的其他函数来协助解析 DNS 响应。
如果 `@header.num_answers` 的值为 2代码会使用了 `(1..@header.num_answers).map` 这个巧妙的结构创建一个包含两个 DNS 记录的数组。(这可能有点像 Ruby 魔法,但我就是觉得有趣,但愿不会影响可读性。)
我们可以把这段代码整合进我们的主函数中,就像这样:
```
sock.send(make_dns_query("example.com", 1), 0) # 1 is "A", for IP address
reply, _ = sock.recvfrom(1024)
response = DNSResponse.new(reply) # parse the response!!!
puts response.answers[0]
```
尽管输出结果看起来有点辣眼睛(类似于 `#<DNSRecord:0x00000001368e3118>`),所以我们需要编写一些好看的输出代码,提升它的可读性。
### 步骤十四:对于我们输出的 DNS 记录进行美化
我们需要向 DNS 记录增加一个 `.to_s` 字段,从而让它有一个更良好的字符串展示方式。而者只是做为一行方法的代码在 `DNSRecord` 中存在。
```
def to_s
"#{@name}\t\t#{@ttl}\t#{@type_name}\t#{@parsed_rdata}"
end
```
你可能也注意到了我忽略了 DNS 记录中的 `class` 区域。那是因为它总是相同的IN 表示 “internet”所以我觉得它是个多余的。虽然很多 DNS 工具(像真正的 `dig`)会输出 `class`
## 大功告成!
这是我们最终的主函数:
```
def main
# connect to google dns
sock = UDPSocket.new
sock.bind('0.0.0.0', 12345)
sock.connect('8.8.8.8', 53)
# send query
domain = ARGV[0]
sock.send(make_dns_query(domain, 1), 0)
# receive & parse response
reply, _ = sock.recvfrom(1024)
response = DNSResponse.new(reply)
response.answers.each do |record|
puts record
end
```
我不觉得我们还能再补充什么 —— 我们建立连接、发送一个查询、输出每一个回答,然后退出。完事儿!
```
$ ruby dig.rb example.com
example.com 18608 A 93.184.216.34
```
你可以在这里查看最终程序:[dig.rb][2]。可以根据你的喜好给它增加更多特性,就比如说:
* 为其他查询类型添加美化输出。
* 输出 DNS 响应时增加“授权”和“可追加”的选项
* 重试查询
* 确保我们看到的 DNS 响应匹配我们的查询ID 信息必须是对的上的!)
另外如果我在这篇文章中出现了什么错误,就 [在推特和我聊聊吧][10]。(我写的比较赶所以可能还是会有些错误)
*题图MJ/449d049d-6bdd-448b-a61d-17138f8551bc*
--------------------------------------------------------------------------------
via: https://jvns.ca/blog/2022/11/06/making-a-dns-query-in-ruby-from-scratch/
作者:[Julia Evans][a]
选题:[lujun9972][b]
译者:[Drwhooooo](https://github.com/Drwhooooo)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://jvns.ca/
[b]: https://github.com/lujun9972
[1]: https://jvns.ca/blog/2022/02/01/a-dns-resolver-in-80-lines-of-go/
[2]: https://gist.github.com/jvns/1e5838a53520e45969687e2f90199770
[3]: https://gist.github.com/jvns/aa202b1edd97ae261715c806b2ba7d39
[4]: https://datatracker.ietf.org/doc/html/rfc1035#section-4.1.1
[5]: https://ruby-doc.org/core-3.0.0/Array.html#method-i-pack
[6]: https://wizardzines.com/comics/little-endian/
[7]: https://gist.github.com/jvns/3587ea0b4a2a6c20dcfd8bf653fc11d9
[8]: https://datatracker.ietf.org/doc/html/rfc1035#section-4.1.4
[9]: https://link.zhihu.com/?target=https%3A//github.com/miekg/dns/blob/b3dfea07155dbe4baafd90792c67b85a3bf5be23/msg.go%23L430-L435
[10]: https://twitter.com/b0rk
[0]: https://img.linux.net.cn/data/attachment/album/202310/24/155014kli69j43i021iwwl.jpg

View File

@@ -0,0 +1,552 @@
[#]: subject: "Working with Btrfs Snapshots"
[#]: via: "https://fedoramagazine.org/working-with-btrfs-snapshots/"
[#]: author: "Andreas Hartmann https://fedoramagazine.org/author/hartan/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "A2ureStone"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16287-1.html"
Btrfs 详解:快照
======
![][0]
这篇文章会探讨什么是 Btrfs 快照它们如何工作的你在日常生活中进行快照的好处。这篇文章是《Btrfs 详解》系列文章中的一篇。从 Fedora Linux 33 开始Btrfs 就是 Fedora Workstation 和 Fedora Silverblue 的默认文件系统。
如果你错过了,这里是本系列的上一篇文章:[Btrfs 详解:子卷][1]
### 简介
想象一下,你长时间处理一个文件,反复添加和撤销修改。然后,在某个时刻你意识到:两小时前你撤销的部分修改,现在会非常有用。而昨天在你销毁那个设计之前,你也已经修改了这个特殊的部分。当然,由于你会定期保存文件,所以旧的改动会丢失。很多人可能都遇到过这样的情况。如果能恢复旧版本的文件,而无需定期手动复制,岂不美哉?
这是一个 Btrfs 快照可以帮助你的特别场景。当你使用正确的话,快照同时也为你的电脑提供了很好的备份方案。
下面你会找到一些关于快照的例子。如果你想跟着操作,你必须拥有访问某些 Btrfs 文件系统的权限和 root 权限。你可以通过下面命令来验证一个目录的文件系统。
```
$ findmnt -no FSTYPE /home
btrfs
```
这个命令会输出你 `/home/` 目录的文件系统名称。如果它是 `btrfs`,那就可以了。让我们创建一个新的目录去做实验:
```
$ mkdir ~/btrfs-snapshot-test
$ cd ~/btrfs-snapshot-test
```
在下面的文本中,你会看到很多像上面显示的那样的命令输出框。请在阅读/比较命令输出时请记住,**框中的内容在行末会被换行**。这使得识别跨多行的长行变得困难,降低了可读性。如果有疑问,试着调整浏览器窗口的大小,看看文本的变化!
### Btrfs 快照
让我们从一个基本的问题开始:什么是 Btrfs 快照?如果你在文档 [^1] 和维基 [^2] 中查找,你不会立刻找到这个问题的答案。事实上,从“功能”一节里是找不到的。如果你搜索一下,你会发现快照和 Btrfs 子卷一起被大量地提及 [^3]。所以现在做什么呢?
还记得快照在系列前面的文章里两次被提到吗?是这样说的:
> CoW 的优势在哪里简单的说文件被修改和编辑的历史被保存了下来。Btrfs 保存文件旧版本的引用inode可以轻易地被访问。这个引用就是快照文件系统在某个时间点的状态镜像。这将是这系列文章里的单独的一篇所以暂时留到后面介绍。
>
> —— [Btrfs 详解:基础概念][6]
以及:
> 另外一个分离 `/` 和 `/home` 的优势是我们可以分别进行 _快照_ 。子卷是快照的边界,对一个子卷的快照永远不会包含该子卷下面的其他子卷的内容。快照的更多细节会在后续的文章中介绍。
>
> —— [Btrfs 详解:子卷][7]
看起来快照是和 Btrfs 子卷相关的。你可能之前在其他地方听到过快照,比如说 LVM逻辑卷管理器。虽然技术角度上它们都是为了同一个目的但它们在实现方面有所不同。
每个 Btrfs 快照是一个子卷。但是不是每个子卷都是一份快照。区别在于子卷里面包含的内容。一个快照是子卷加上一些内容它包含对现在和过去版本的文件的引用inode。让我们看看快照是从哪来的
### 创建 Btrfs 快照
想使用快照功能,你需要一个 Btrfs 子卷来进行快照。让我们在测试目录(`~/btrfs-snapshot-test`)里创建一个:
```
$ cd ~/btrfs-snapshot-test
$ sudo btrfs subvolume create demo
Create subvolume './demo'
$ sudo chown -R $(id -u):$(id -g) demo/
$ cd demo
```
因为 Btrfs 子卷默认是被 root 所有的,你必须用 `chown` 去修改子卷里的文件的所有权到普通用户上。现在我们在里面新加一些文件:
```
$ touch foo bar baz
$ echo "Lorem ipsum dolor sit amet, " > foo
```
你的目录现在看起来像这样:
```
$ ls -l
total 4
-rw-r--r--. 1 hartan hartan 0 Dec 20 08:11 bar
-rw-r--r--. 1 hartan hartan 0 Dec 20 08:11 baz
-rw-r--r--. 1 hartan hartan 29 Dec 20 08:11 foo
```
让我们从这里创建第一次快照:
```
$ cd ..
$ sudo btrfs subvolume snapshot demo demo-1
Create a snapshot of 'demo' in './demo-1'
```
这就好了。让我们看看发生了什么:
```
$ ls -l
total 0
drwxr-xr-x. 1 hartan hartan 18 Dec 20 08:11 demo
drwxr-xr-x. 1 hartan hartan 18 Dec 20 08:11 demo-1
$ tree
.
├── demo
│ ├── bar
│ ├── baz
│ └── foo
└── demo-1
├── bar
├── baz
└── foo
2 directories, 6 files
```
这看起来是一份拷贝!为了验证,我们从快照里读取 `foo` 的内容:
```
$ cat demo/foo
Lorem ipsum dolor sit amet,
$ cat demo-1/foo
Lorem ipsum dolor sit amet,
```
当我们修改原始文件时,真正的效果变得明显:
```
$ echo "consectetur adipiscing elit, " >> demo/foo
$ cat demo/foo
Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
$ cat demo-1/foo
Lorem ipsum dolor sit amet,
```
这表明快照仍然持有“旧”版本的数据:`foo` 的内容没有改变。到目前为止,你可以通过一个简单的文件复制来实现完全相同的目标。现在你也可以继续处理旧文件了。
```
$ echo "sed do eiusmod tempor incididunt" >> demo-1/foo
$ cat demo-1/foo
Lorem ipsum dolor sit amet,
sed do eiusmod tempor incididunt
```
但是在底层,我们的快照实际上是一个新的 Btrfs 子卷。你可以通过下面的命令来验证这一点:
```
$ sudo btrfs subvolume list -o .
ID 259 gen 265 top level 256 path home/hartan/btrfs-snapshot-test/demo
ID 260 gen 264 top level 256 path home/hartan/btrfs-snapshot-test/demo-1
```
### Btrfs 子卷 vs. 文件复制
这一切有什么意义呢?到目前为止快照看起来是一个更加复杂的复制文件的方式。事实上,快照不仅仅是表面上看起来那么简单。让我们来创建一个更大的文件:
```
$ dd if=/dev/urandom of=demo/bigfile bs=1M count=512
512+0 records in
512+0 records out
536870912 bytes (537 MB, 512 MiB) copied, 1.3454 s, 399 MB/s
```
现在有一个512 MB 大小的新文件 `demo/bigfile` 。让我们创建另一个快照,这样在你修改数据的时候就不会丢失:
```
$ sudo btrfs subvolume snapshot demo demo-2
Create a snapshot of 'demo' in './demo-2'
```
现在我们通过追加少量字符串到文件来模拟变化:
```
$ echo "small changes" >> demo/bigfile
```
这是生效后的文件结构:
```
$ tree
.
├── demo
│ ├── bar
│ ├── baz
│ ├── bigfile
│ └── foo
├── demo-1
│ ├── bar
│ ├── baz
│ └── foo
└── demo-2
├── bar
├── baz
├── bigfile
└── foo
3 directories, 11 files
```
但是真正的神奇的发生在其他地方。你已经复制了 `demo/bigfile` ,你现在拥有了两个大约 512 MiB 的文件。但是,因为它们是不同的拷贝,它们应该会占据共 1 GiB 的空间。记住两个文件的差异不超过 10 字节 —— 和原文件大小相比这几乎没什么差别。
Btrfs 快照工作原理与文件复制不同:而是它们保持对当前和过去的 inode 的引用。当你在文件追加更新时,在底层 Btrfs 分配更多的空间去存储更新,同时在原来的 inode 增加对新数据的引用。之前的内容保持不变。为了便于理解,你可以认为这是仅仅“存储”原文件和修改版本的差异。
让我们看看这个效果:
```
$ sudo compsize .
Processed 11 files, 5 regular extents (9 refs), 3 inline.
Type Perc Disk Usage Uncompressed Referenced
TOTAL 100% 512M 512M 1.0G
none 100% 512M 512M 1.0G
```
这个有趣的数字出现在 `TOTAL` 一行:
* `Referenced` 是当前目录下所有文件大小的总和
* `Disk Usage` 是用于在磁盘上存储文件分配空间的大小
你有一共 1 GiB 的文件,但存储它们仅仅占据了 512 MiB。
### Btrfs 快照和备份
目前为止,在这篇文章中,你已经看到如何创建 Btrfs 快照和它们的特别之处。有人可能会想:如果我在我的 PC 本地进行一系列的快照,我就有一个可靠的备份策略。 **其实不是这样的** 。如果 Btrfs 子卷共享的底层数据被偶然破坏了(被 Btrfs 之外的东西影响,比如宇宙射线),所有指向这些数据的子卷都会存在相同的错误。
为了让快照成为真正的备份,你应该将它们存储到一个不同的 Btrfs 系统上,例如在一个外部驱动器上。为了本文的目的,让我们在一个文件里创建一个新的 Btrfs 系统,并挂载它来模拟一个外部驱动。如果你有一个格式为 Btrfs 的外部驱动器,请随意替换以下命令中提到的所有路径来试试!让我们创建一个新的 Btrfs 文件系统:
**注意**:下面的命令会在你的文件系统上创建一个 8 GB 大小的新文件。如果你想跟着下面的步骤,请确保你的磁盘空间至少有 8 GB 剩余。请不要分配小于 8 GB 到这个文件,否则 Btrfs 可能在挂载时会遇到问题。
```
$ truncate -s 8G btrfs_filesystem.img
$ sudo mkfs.btrfs -L "backup-drive" btrfs_filesystem.img
btrfs-progs v5.18
See http://btrfs.wiki.kernel.org for more information.
[ ... ]
Devices:
ID SIZE PATH
1 8.00GiB btrfs_filesystem.img
```
这些命令创建了名为 `btrfs_filesystem.img` 的 8 GB 新文件,同时在上面格式化了一个 Btrfs 文件系统。现在你可以像外部驱动器一样挂载它:
```
$ mkdir backup-drive
$ sudo mount btrfs_filesystem.img backup-drive
$ sudo chown -R $(id -u):$(id -g) backup-drive
$ ls -lh
total 4.7M
drwxr-xr-x. 1 hartan hartan 0 Dec 20 08:35 backup-drive
-rw-r--r--. 1 hartan hartan 8.0G Dec 20 08:37 btrfs_filesystem.img
drwxr-xr-x. 1 hartan hartan 32 Dec 20 08:14 demo
drwxr-xr-x. 1 hartan hartan 18 Dec 20 08:11 demo-1
drwxr-xr-x. 1 hartan hartan 32 Dec 20 08:14 demo-2
```
妙,现在挂载在 `backup-drive` 下面有一个独立的 Btrfs 文件系统!让我们尝试进行快照并且把快照放进去:
```
$ sudo btrfs subvolume snapshot demo backup-drive/demo-3
Create a snapshot of 'demo' in 'backup-drive/demo-3'
ERROR: cannot snapshot 'demo': Invalid cross-device link
```
发生了什么?噢,你尝试对 `demo` 进行一次快照并把它存在不同的 Btrfs 文件系统里(从 Btrfs 视角来看是一个不同的设备)。还记得一个 Btrfs 子卷仅持有对文件和内容的引用inode这正是问题所在文件和内容存在于我们的 `home` 文件系统,但不在新创建的 `backup-drive` 。你得找到一种方式去传输子卷和其内容到新的文件系统里。
#### 在不同的 Btrfs 文件系统存储快照
针对这个目的 Btrfs 工具有两个特殊的命令。让我们首先来看看它们是如何工作的:
```
$ sudo btrfs send demo | sudo btrfs receive backup-drive/
ERROR: subvolume /home/hartan/btrfs-snapshot-test/demo is not read-only
ERROR: empty stream is not considered valid
```
另一个错误!这时它告诉你我们想要传输的子卷不是只读的。这是对的:你可以写入新内容到所有目前为止创建的快照/子卷。你可以像这样创建一个只读的快照:
```
$ sudo btrfs subvolume snapshot -r demo demo-3-ro
Create a readonly snapshot of 'demo' in './demo-3-ro'
```
不像之前那样,这里 `-r` 选项被加到了 `snapshot` 子命令里。这创建一个只读的快照,这很容易去验证:
```
$ touch demo-3-ro/another-file
touch: cannot touch 'demo-3-ro/another-file': Read-only file system
```
现在你可以重新尝试传输子卷:
```
$ sudo btrfs send demo-3-ro | sudo btrfs receive backup-drive/
At subvol demo-3-ro
At subvol demo-3-ro
$ tree
├── backup-drive
│ └── demo-3-ro
│ ├── bar
│ ├── baz
│ ├── bigfile
│ └── foo
├── btrfs_filesystem.img
├── demo
[ ... ]
└── demo-3-ro
├── bar
├── baz
├── bigfile
└── foo
6 directories, 20 files
```
成功了!你成功传输原来子卷 `demo` 的一个只读快照到一个外部的 Btrfs 文件系统。
#### 在非 Btrfs 文件系统存储快照
上面你已经看到你如何能存储 Btrfs 子卷/快照到其他的 Btrfs 文件系统。但如果你没有其他的 Btrfs 文件系统并且不能新创建一个,比如说外部驱动器需要一个和 Windows 或 MacOS 兼容的文件系统,你可以做什么呢?在这种情况下你可以存储子卷在文件里:
```
$ sudo btrfs send -f demo-3-ro-subvolume.btrfs demo-3-ro
At subvol demo-3-ro
$ ls -lh demo-3-ro-subvolume.btrfs
-rw-------. 1 root root 513M Dec 21 10:39 demo-3-ro-subvolume.btrfs
```
文件 `demo-3-ro-subvolume.btrfs` 现在包含了随后重建 `demo-3-ro` 子卷需要的所有东西。
#### 增量地发送快照
如果你对不同的子卷重复执行这个操作,你会发现在某些时间点不同的子卷不再共享它们的文件内容。这是因为像上面一样发送一个子卷,去重建这个单独的子卷的所有数据将被传送到目标位置。但是,你可以引导 Btrfs 只向目标位置发送不同子卷的差异!所谓的增量发送将保证共享的引用在子卷中仍然共享。为了展示这一点,新增一些变动到我们原来的子卷:
```
$ echo "a few more changes" >> demo/bigfile
```
然后创建另一个只读子卷:
```
$ sudo btrfs subvolume snapshot -r demo demo-4-ro
Create a readonly snapshot of 'demo' in './demo-4-ro'
```
然后现在发送它:
```
$ sudo btrfs send -p demo-3-ro demo-4-ro | sudo btrfs receive backup-drive
At subvol demo-4-ro
At snapshot demo-4-ro
```
在上面的命令,`-p` 选项指定了一个父子卷用来计算差异。重要的是记住原 Btrfs 文件系统和目标 Btrfs 文件系统都必须包含相同的、未被修改过的父子卷!确保新的子卷真的在那里:
```
$ ls backup-drive/
demo-3-ro demo-4-ro
$ ls -lR backup-drive/demo-4-ro/
backup-drive/demo-4-ro/:
total 524296
-rw-r--r--. 1 hartan hartan 0 Dec 20 08:11 bar
-rw-r--r--. 1 hartan hartan 0 Dec 20 08:11 baz
-rw-r--r--. 1 hartan hartan 536870945 Dec 21 10:49 bigfile
-rw-r--r--. 1 hartan hartan 59 Dec 20 08:13 foo
```
但你怎样知道增量发送只传输了子卷间的差异呢?让我们传输数据流到一个文件里然后看看它有多大:
```
$ sudo btrfs send -f demo-4-ro-diff.btrfs -p demo-3-ro demo-4-ro
At subvol demo-4-ro
$ ls -l demo-4-ro-diff.btrfs
-rw-------. 1 root root 315 Dec 21 10:55 demo-4-ro-diff.btrfs
```
根据 `ls` ,这个文件仅仅只有 315 字节大小!这意味着增量传输只传输子卷间的差异,和额外的 Btrfs 相关的元数据。
#### 从快照中恢复子卷
在继续之前,让我们清理掉这时候不再需要的东西:
```
$ sudo rm -rf demo-4-ro-diff.btrfs demo-3-ro-subvolume.btrfs
$ sudo btrfs subvolume delete demo-1 demo-2 demo-3-ro demo-4-ro
$ ls -l
total 531516
drwxr-xr-x. 1 hartan hartan 36 Dec 21 10:50 backup-drive
-rw-r--r--. 1 hartan hartan 8589934592 Dec 21 10:51 btrfs_filesystem.img
drwxr-xr-x. 1 hartan hartan 32 Dec 20 08:14 demo
```
到目前为止你已经成功创建了可读/写和只读的 Btrfs 子卷快照,并把它们发送到外部。但是,为了把这作为备份策略,还要有一种方式去发送子卷回原来的文件系统和让它们再次变为可写。出于这个目的,我们移动 `demo` 子卷到其他地方并且尝试从最近的快照中重建它。第一步:重命名为 `broken` 子卷。一旦恢复成功它会被删除:
```
$ mv demo demo-broken
```
第二步: 传回最近的快照到这个文件系统:
```
$ sudo btrfs send backup-drive/demo-4-ro | sudo btrfs receive .
At subvol backup-drive/demo-4-ro
At subvol demo-4-ro
[hartan@fedora btrfs-snapshot-test]$ ls
backup-drive btrfs_filesystem.img demo-4-ro demo-broken
```
第三步: 从快照创建一个可读写的子卷:
```
$ sudo btrfs subvolume snapshot demo-4-ro demo
Create a snapshot of 'demo-4-ro' in './demo'
$ ls
backup-drive btrfs_filesystem.img demo demo-4-ro demo-broken
```
上一步非常重要:你不能重命名 `demo-4-ro``demo` ,因为这仍然是一个只读子卷!最后你可以检查你所有你想要的东西是不是在那里:
```
$ tree demo
demo
├── bar
├── baz
├── bigfile
└── foo
0 directories, 4 files
$ tail -c -19 demo/bigfile
a few more changes
```
最后的命令告诉你 `bigfile` 的最后 19 个字符实际上是上次变更执行的结果。这个时候,你可能想从 `demo-broken` 复制最近的更新到新的 `demo` 子卷。因为你没有执行任何更新,你可以过时的子卷:
```
$ sudo btrfs subvolume delete demo-4-ro demo-broken
Delete subvolume (no-commit): '/home/hartan/btrfs-snapshot-test/demo-4-ro'
Delete subvolume (no-commit): '/home/hartan/btrfs-snapshot-test/demo-broken'
```
就是这样!你成功从一个之前存在不同 Btrfs 文件系统(外部介质)的快照中恢复 `demo` 子卷。
### 子卷作为快照的边界
在本系列的第二篇文章中我提到子卷作为快照的边界,但这到底是什么意思呢?简单来说,子卷的一份快照仅包含这个子卷的内容,而不是下面嵌套的子卷。让我们来看看这个:
```
$ sudo btrfs subvolume create demo/nested
Create subvolume 'demo/nested'
$ sudo chown -R $(id -u):$(id -g) demo/nested
$ touch demo/nested/another_file
```
让我们像以前一样进行一次快照:
```
$ sudo btrfs subvolume snapshot demo demo-nested
Create a snapshot of 'demo' in './demo-nested'
```
然后查看里面的内容:
```
$ tree demo-nested
demo-nested
├── bar
├── baz
├── bigfile
├── foo
└── nested
1 directory, 4 files
$ tree demo
demo
├── bar
├── baz
├── bigfile
├── foo
└── nested
└── another_file
1 directory, 5 files
```
注意到 `another_file` 不见了,仅仅是目录 `nested` 还在。这是因为 `nested` 是一个子卷:`demo` 的快照包含嵌套子卷的目录(挂载点),但里面的内容是缺失的。目前没有方法递归地执行快照去包含嵌套子卷。但是,我们可以利用这个优势去从快照中排除一些目录!这通常对那些你容易再现的数据有用,或者它们很少变化。例子有虚拟机或者容器镜像,电影,游戏文件等等。
在总结之前,我们移除所有测试过程中创建的东西:
```
$ sudo btrfs subvolume delete demo/nested demo demo-nested
Delete subvolume (no-commit): '/home/hartan/btrfs-snapshot-test/demo/nested'
Delete subvolume (no-commit): '/home/hartan/btrfs-snapshot-test/demo'
Delete subvolume (no-commit): '/home/hartan/btrfs-snapshot-test/demo-nested'
$ sudo umount backup-drive
$ cd ..
$ rm -rf btrfs-snapshot-test/
```
### 基于 Btrfs 备份最后思考
如果你决定使用 Btrfs 来执行数据的定期备份那么你可能需要使用一个工具来自动完成这项任务。Btrfs 维基有一个专门针对 Btrfs [^4] 的备份工具列表。在那里,你还将看到另一个手动执行 Btrfs 备份步骤的摘要。就我个人而言,我对 `btrbk` [^5] 有很多很好的体验,我正在使用它来执行我自己的备份。除了备份之外,`btrbk` 还可以在你的 PC 本地保存 Btrfs 快照列表。我使用它来防止意外的数据删除。
如果你想要了解更多有关使用 Btrfs 进行备份的内容,欢迎在下面评论,我会考虑写一篇专门讨论这个话题的后续文章。
### 总结
本文研究了 Btrfs 快照,它们本质上是 Btrfs 子卷。你了解了如何创建可读写和只读快照,以及这种机制如何有助于防止数据丢失。
本系列的后续文章将讨论:
- 压缩 - 透明地节省存储空间
- 配额组 - 限制文件系统大小
- RAID - 替代 mdadm 配置
如果你还想了解与 Btrfs 相关的其他主题,请查看 Btrfs 维基 [^2] 和文档 [^1]。不要忘记查看本系列的前两篇文章!如果你认为本文缺少了一些内容,请在下面的评论中告诉我们。再会!
### 参考资料
[^1]: <https://btrfs.readthedocs.io/en/latest/Introduction.html>
[^2]: <https://btrfs.wiki.kernel.org/index.php/Main_Page>
[^3]: <https://btrfs.readthedocs.io/en/latest/Subvolumes.html>
[^4]: <https://btrfs.wiki.kernel.org/index.php/Incremental_Backup#Available_Backup_Tools>
[^5]: <https://github.com/digint/btrbk>
*题图MJ/ad8a61ed-ce6f-409e-b503-69104dd71149*
--------------------------------------------------------------------------------
via: https://fedoramagazine.org/working-with-btrfs-snapshots/
作者:[Andreas Hartmann][a]
选题:[lujun9972][b]
译者:[A2ureStone](https://github.com/A2ureStone)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://fedoramagazine.org/author/hartan/
[b]: https://github.com/lujun9972
[1]: https://linux.cn/article-16250-1.html
[2]: https://unsplash.com/@helibertoarias?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText
[3]: https://unsplash.com/s/photos/hdd?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText
[4]: tmp.9WKqfTWEhI#sources
[5]: https://btrfs.readthedocs.io/en/latest/Subvolumes.html
[6]: https://linux.cn/article-16189-1.html
[7]: https://linux.cn/article-16250-1.html
[0]: https://img.linux.net.cn/data/attachment/album/202310/16/092244yog42vb0l3v5h33h.jpg

View File

@@ -0,0 +1,218 @@
[#]: subject: "Terminal Basics Series #1: Changing Directories in Linux Terminal"
[#]: via: "https://itsfoss.com/change-directories/"
[#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/"
[#]: collector: "lkxed"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16304-1.html"
终端基础Linux 终端中的目录切换
======
![][0]
> 本篇文章作为终端基础教程系列的一部分,介绍如何在 Linux 命令行中,利用绝对路径和相对路径实现目录切换。
Linux 的 `cd` 命令让你可以轻松切换文件夹(即目录)。只需提供你要切换到的文件夹路径即可。
```
cd path_to_directory
```
然而对于 Linux 新人来说,可能会在路径的指定上有所困扰。
首先,让我们解决这个问题。
### 理解 Linux 中的路径
在 Linux 文件系统中,路径是用来追踪文件位置的信息。所有的路径都从根目录开始,然后向下延伸。
你可以通过下面的方式查看当前所在的位置:
```
pwd
```
结果可能是类似于 `/home/username` 的输出。注意,这里的 `username` 将会是你自己的用户名。
你可以注意到,路径是由 `/` 符号和目录名组成的。比如路径 `/home/abhishek/scripts` 表示 `scripts` 是在文件夹 `abhishek` 之内,而文件夹 `abhishek``home` 文件夹之内。要注意,第一个 '/' 是指根目录(即文件系统的开始处),后面的 '/' 则作为目录的分隔符。
![Path in Linux][1]
> 🖥️ 在终端中键入 `ls /`,然后按回车。你将会看到根目录下的所有内容,试试看!
接下来,让我们学习两种常见的路径指定方式:绝对路径和相对路径。
**绝对路径**:这种路径从根开始,然后一直扩展到你需要的位置。如果一个路径是以 `/` 开头,那就说明它是一个绝对路径。
**相对路径**:这是相对于你文件系统中当前位置的路径。如果我当前位置在 `/home/abhishek`,并且我需要去 `/home/abhishek/Documents` 我只需要简单地切换到 `Documents`,而不需要指定整个绝对路径 `/home/abhishek/Documents`
在我演示这两种路径的区别之前,有必要先熟悉两个特殊的目录标识:
- `.` (单点)表示当前目录。
- `..` (双点)表示上一级目录,也就是当前目录的母目录。
这里有一张图形化的表示。
![Absolute path vs relative path][2]
### 利用 cd 命令变更目录
在你已对路径概念有所了解之后,我们来了解如何切换目录。
> 🖥️ 如果你**仅键入 `cd` 并按回车键**,无论当前位置在哪,系统都会将你带回主目录。试一试吧。
敲入以下命令,你就能看到主目录里的所有文件夹:
```
ls
```
这是我看到的情况:
```
abhishek@ituxedo:~$ ls
Desktop Downloads Pictures Templates VirtualBoxVMs
Documents Music Public Videos
```
你的情况可能与此类似,但未必完全一样。
假如你希望跳转到 `Documents` 文件夹。由于它就在当前目录下,这里使用相对路径会比较方便:
```
cd Documents
```
> 💡 注意,大部分 Linux 发行版预设的终端模拟器会在提示符本身显示出当前所在的位置。因此你不必频繁使用 `pwd` 指令来确认自己的位置。
![Most Linux terminal prompts show the current location][3]
假如你希望切换到位于主目录里的 `Templates` 文件夹。
你可以使用相对路径 `../Templates``..` 会让你返回到上层目录,即 `/home/username`,然后你就可以进入 `Templates` 文件夹了)。
但这次我们尝试使用绝对路径。请把下面的 `abhishek` 替换成你的用户名。
```
cd /home/abhishek/Templates
```
此刻你已经在 `Templates` 文件夹里了。如何前往 `Downloads` 文件夹呢?这次我们再使用相对路径:
```
cd ../Downloads
```
下面的图片会回顾一下你刚才学到的所有或有关目录切换的范例。
![cd command example][4]
> 💡 别忘了你还可以使用终端的 `tab` 键自动补全功能。只需要键入命令或者文件夹名称的前几个字母,然后敲击 `tab` 键,系统就会尝试自动地补全命令或文件夹名称,或者给你显示出所有可能的选项。
### 故障解决
在 Linux 终端操作切换目录的过程中,你可能会遇到一些常见的错误。
#### 文件或目录不存在
如果在你尝试切换目录时,出现类似下面的错误信息:
> bash: cd: directory_name: No such file or directory
那么你可能在路径或目录名称上犯了误解。这里有几点你需要注意的:
- 请确定你输入的目录名中没有拼写错误。
- Linux 系统对大小写敏感,因此,`Downloads``downloads` 会被识别为不同的目录。
- 你可能未正确指定路径。可能你所在的位置与你预期的不同?或者你遗漏了绝对路径中的开头的 `/` 字符?
![Common examples of "no such file or directory" error][5]
#### 非目录错误
如果你看到像下面这样的错误提示:
> bash: cd: filename: Not a directory
这表示你尝试使用 `cd` 命令对一个文件进行操作,而不是一个目录(文件夹)。很明显,你不能像进入文件夹那样“进入”一个文件,因此会出现这样的错误。
![Not a directory error with the cd command][6]
#### 参数过多
这是 Linux 新手常犯的另一个错误:
> bash: cd: too many arguments
`cd` 命令只接受一个参数。也就是说,你只能对命令指定一个目录。
如果你指定了超过一个的参数,或者在路径中误加了空格,你就会看到这个错误。
![Too many arguments error in Linux terminal][7]
> 🏋🏻 如果你输入 `cd -`,它将会把你带到前一个目录。当你在两个相隔较远的地方切换时非常方便,可以避免再次输入长路径。
### 特殊目录符号
在结束这个教程之前,我想快速告诉你关于特殊符号 `~`。在 Linux 中,`~` 是用户主目录的捷径。
如果用户 `abhi` 运行它,`~` 就会代表 `/home/abhi`,如果用户 `prakash` 运行,`~` 就意味着 `/home/prakash`
总结一下你在这个基础教程系列中学到的所有特殊目录标识:
| 符号 | 描述 |
| :- | :- |
| `.` | 当前目录 |
| `..` | 上级目录 |
| `~` | 主目录 |
| `-` | 前一个目录 |
### 测试你的知识
下面是一些简单的练习,用来测试你刚刚学到的关于路径和 `cd` 命令的知识。
移动到你的主目录,并使用这个命令创建一个嵌套的目录结构:
```
mkdir -p sample/dir1/dir2/dir3
```
然后,一步步来试试这个:
- 使用绝对路径或相对路径进入 `dir3`
- 使用相对路径移动到 `dir1`
- 使用你能想象到的最短路径进入 `dir2`
- 使用绝对路径切换到 `sample` 目录
- 返回你的主目录
> 🔑 想知道你是否全都做对了吗?欢迎分享你的答案。
现在你知道如何切换目录,是不是应该学习一下如何创建它们呢?
我强烈推荐你阅读这篇文章,了解一些关于终端和命令的小技巧。
如果你想了解 Linux 命令行的基础知识,记得关注我们的 Linux 终端基础系列教程的更多章节。
--------------------------------------------------------------------------------
via: https://itsfoss.com/change-directories/
作者:[Abhishek Prakash][a]
选题:[lkxed][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/abhishek/
[b]: https://github.com/lkxed/
[1]: https://itsfoss.com/content/images/2023/02/path-linux.webp
[2]: https://itsfoss.com/content/images/2023/02/absolute-and-relative-path.png
[3]: https://itsfoss.com/content/images/2023/02/linux-terminal-prompt.png
[4]: https://itsfoss.com/content/images/2023/02/cd-command-example.svg
[5]: https://itsfoss.com/content/images/2023/02/common-errors-with-cd.png
[6]: https://itsfoss.com/content/images/2023/02/not-a-directory-error-linux.png
[7]: https://itsfoss.com/content/images/2023/02/too-many-arguments.png
[8]: https://itsfoss.community/t/exercise-in-changing-directories-in-linux-terminal/10177?ref=its-foss
[0]: https://img.linux.net.cn/data/attachment/album/202310/21/062234mz9zymqc6om5924m.jpg

View File

@@ -0,0 +1,312 @@
[#]: subject: "Working with Btrfs Compression"
[#]: via: "https://fedoramagazine.org/working-with-btrfs-compression/"
[#]: author: "Andreas Hartmann https://fedoramagazine.org/author/hartan/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "A2ureStone"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16299-1.html"
Btrfs 详解:压缩
======
![][0]
这篇文章将探索 Btrfs 中的透明文件系统压缩以及它如何帮助节省存储空间。这篇文章是《Btrfs 详解》系列文章中的一篇。从 Fedora Linux 33 开始Btrfs 就是 Fedora Workstation 和 Fedora Silverblue 的默认文件系统。
如果你错过了,这里是本系列的上一篇文章:[Btrfs 详解:快照][1]。
### 简介
很多人都经历过存储空间用完的情况。也许你想从互联网下载一个大文件,或者你需要快速从你的手机中复制些照片,然后操作突然失败。虽然存储空间成本正在稳步降低,但越来越多的设备要么制造时就是固定数量的存储容量,要么最终用户难以扩展其存储容量。
但当你的存储空间不足时你可以做什么呢?也许你会求助于云存储,或者你可以随身携带一些外部存储设备。
在这篇文章里我会研究该问题的另一种解决方案:透明的文件系统压缩,这是 Btrfs 的一个特性。理想情况下,这将解决你的存储问题,同时几乎不需要对你的系统进行修改!让我们来看看是如何做到的。
### 透明压缩的解释
首先,让我们来探寻 _透明_ 压缩是什么意思。你可以通过像 gzip、xz 或者 bzip2 这些压缩算法去压缩文件。这通常是显式操作:你利用一个压缩工具并且让它操作你的文件。虽然根据文件的内容,节约了空间,这有一个主要的缺点:当你想读取文件或者修改的时候,你得先解压缩。
这不仅是一个乏味的过程,而且也暂时打破了你之前节省的空间。再者,你最终解压了你不想访问的那部分文件内容。明显有比这更好的方法!
相反,透明压缩发生在文件系统级别。在这里,压缩的文件对用户看起来像常规的未压缩文件一样。但是,它们是被压缩后存储在硬盘上的。这之所以可行,是因为操作系统仅仅选择性地访问那部分文件,并且确保在向磁盘写入更新时再次压缩它们。
这里的压缩是透明的在于它不被用户感知,除了在文件访问时可能的 CPU 负载小量增加。因此,你可以应用在已有的系统而不是进行硬件修改或者求助于云存储。
### 压缩算法对比
Btrfs 提供了多个压缩算法的选择。出于技术原因它不能选用任意的压缩算法。它现在支持:
* zstd
* lzo
* zlib
好消息是,由于透明压缩的工作原理,你不需要安装这些程序供 Btrfs 使用。在下面的文章里,你会看到如何去运行一个简单的性能测试来对比压缩算法。但是,为了运行性能测试,你必须安装必要的可执行文件。事后不需要留着它们,所以你将使用 Podman 容器来确保不会在系统中留下任何痕迹。
**注意** :因为 Btrfs 使用的压缩依赖于内核对这些压缩算法的(重新)实现,用户空间版本的算法得出的结果应该认为是粗略估计。
因为一次次敲重复的命令是枯燥的工作,我已经在 Gitlab 上准备了一个可以运行的 Bash 脚本 <https://gitlab.com/hartang/btrfs-compression-test>)。这会用上面提到的每个算法在不同的压缩级别运行一次简单的压缩和解压缩。
首先,下载脚本:
```
$ curl -LO https://gitlab.com/hartang/btrfs-compression-test/-/raw/main/btrfs_compression_test.sh
```
下一步,启动一个 Fedora Linux 容器去挂载你当前的工作目录,以便你可以和主机交换文件同时在那里运行脚本:
```
$ podman run --rm -it --security-opt label=disable -v "$PWD:$PWD" \
-w "$PWD" registry.fedoraproject.org/fedora:37
```
最后运行脚本:
```
$ chmod +x ./btrfs_compression_test.sh
$ ./btrfs_compression_test.sh
```
在我机器上的输出是这样:
```
[INFO] Using file 'glibc-2.36.tar' as compression target
[INFO] Target file 'glibc-2.36.tar' not found, downloading now...
################################################################### 100.0%
[ OK ] Download successful!
[INFO] Copying 'glibc-2.36.tar' to '/tmp/tmp.vNBWYg1Vol/' for benchmark...
[INFO] Installing required utilities
[INFO] Testing compression for 'zlib'
Level | Time (compress) | Compression Ratio | Time (decompress)
-------+-----------------+-------------------+-------------------
1 | 0.322 s | 18.324 % | 0.659 s
2 | 0.342 s | 17.738 % | 0.635 s
3 | 0.473 s | 17.181 % | 0.647 s
4 | 0.505 s | 16.101 % | 0.607 s
5 | 0.640 s | 15.270 % | 0.590 s
6 | 0.958 s | 14.858 % | 0.577 s
7 | 1.198 s | 14.716 % | 0.561 s
8 | 2.577 s | 14.619 % | 0.571 s
9 | 3.114 s | 14.605 % | 0.570 s
[INFO] Testing compression for 'zstd'
Level | Time (compress) | Compression Ratio | Time (decompress)
-------+-----------------+-------------------+-------------------
1 | 0.492 s | 14.831 % | 0.313 s
2 | 0.607 s | 14.008 % | 0.341 s
3 | 0.709 s | 13.195 % | 0.318 s
4 | 0.683 s | 13.108 % | 0.306 s
5 | 1.300 s | 11.825 % | 0.292 s
6 | 1.824 s | 11.298 % | 0.286 s
7 | 2.215 s | 11.052 % | 0.284 s
8 | 2.834 s | 10.619 % | 0.294 s
9 | 3.079 s | 10.408 % | 0.272 s
10 | 4.355 s | 10.254 % | 0.282 s
11 | 6.161 s | 10.167 % | 0.283 s
12 | 6.670 s | 10.165 % | 0.304 s
13 | 12.471 s | 10.183 % | 0.279 s
14 | 15.619 s | 10.075 % | 0.267 s
15 | 21.387 s | 9.989 % | 0.270 s
[INFO] Testing compression for 'lzo'
Level | Time (compress) | Compression Ratio | Time (decompress)
-------+-----------------+-------------------+-------------------
1 | 0.447 s | 25.677 % | 0.438 s
2 | 0.448 s | 25.582 % | 0.438 s
3 | 0.444 s | 25.582 % | 0.441 s
4 | 0.444 s | 25.582 % | 0.444 s
5 | 0.445 s | 25.582 % | 0.453 s
6 | 0.438 s | 25.582 % | 0.444 s
7 | 8.990 s | 18.666 % | 0.410 s
8 | 34.233 s | 18.463 % | 0.405 s
9 | 41.328 s | 18.450 % | 0.426 s
[INFO] Cleaning up...
[ OK ] Benchmark complete!
```
重要的是在根据脚本得出的数据做决定之前注意这些事情:
* 不是所有的文件压缩效果都一样好。像图片或电影这种已经压缩过的现代多媒体格式不会压缩得更小。
* 脚本中压缩和解压缩各进行一次。重复运行会产生稍微不同的输出。因此,时间应该被理解为是估计,而不是准确的测量。
鉴于输出的数据,我决定在我的系统上使用压缩级别 3 的 zstd 压缩算法。依据你的需求,你可能想使用更高的压缩级别(比如,如果你存储设备相当的慢)。要估算可达到的读/写速度,可以将源存档大小(约 260MB除以压缩时间。
压缩测试默认是对 GNU libc 2.36 源码进行的。如果你想看看对指定文件的效果,你可以通过第一个参数传递文件路径给脚本。记住文件一定要可以在容器内访问才行。
如果你想要测试其他东西或者执行更加详细的测试,可以阅读脚本的源码,根据需要修改它。
### 配置 Btrfs 压缩
Btrfs 里的透明文件系统压缩可以通过几种方式配置:
* 作为挂载文件系统的挂载选项(可用于相同 Btrfs 文件系统的所有子卷)
* 通过 Btrfs 文件属性
*`btrfs filesystem defrag` 时(不是永久的,不在这里介绍)
* 通过 `chattr` 文件属性接口(不在这里介绍)
我只会介绍其中前两个。
#### 在挂载时开启压缩
有一个 Btrfs 挂载选项可以开启文件压缩:
```
$ sudo mount -o compress=<ALGORITHM>:<LEVEL> ...
```
例如,去挂载一个文件系统,并使用等级 3 的 `ztsd` 算法去压缩,你可以写成:
```
$ sudo mount -o compress=zstd:3 ...
```
设置压缩等级是可选的。重要的是注意到 `compress` 挂载选项应用到整个 Btrfs 文件系统和它所有的子卷。此外,这是目前唯一支持的指定压缩等级的方式。
为了对文件系统的根应用压缩,必须在 `/etc/fstab` 上指定。例如Fedora Linux 安装器,默认启用级别 1 的 `zstd` 压缩,在 `/etc/fstab` 里是这样:
```
$ cat /etc/fstab
[ ... ]
UUID=47b03671-39f1-43a7-b0a7-db733bfb47ff / btrfs subvol=root,compress=zstd:1,[ ... ] 0 0
```
#### 启用单个文件压缩
另外一种方式指定压缩的方法是通过 Btrfs 文件系统属性。使用下面的命令去查看文件、目录或子卷的压缩设置:
```
$ btrfs property get <PATH> compression
```
类似的,你可以像这样配置压缩:
```
$ sudo btrfs property set <PATH> compression <VALUE>
```
例如,对在 `/etc` 下所有文件启用 `zlib` 压缩:
```
$ sudo btrfs property set /etc compression zlib
```
你可以通过 `man btrfs-property` 得到支持值的列表。记住这个接口不允许指定压缩级别。除此之外,如果设置了一个压缩属性,它会覆盖挂载时的其他压缩配置。
### 压缩已有文件
在这时,如果你对现有文件系统采用压缩,然后通过 `df` 或类似命令检查空间利用率,你会发现什么都没变。这是因为 Btrfs 自身不会 “重新压缩” 所有已有的文件。压缩只会发生在往磁盘写新数据的时候。有一些方式去执行显式的重压缩:
1. 等待什么都不做只要文件被修改并被写回磁盘Btrfs 根据配置压缩新写入的文件内容。如果我们等待足够长,越来越多的文件被重写,在某个时间点就会被压缩。
2. 移动文件到另一个文件系统然后移动回来:取决于你想压缩哪些文件,这可能是相当乏味的选项。
3. 执行一次 Btrfs 碎片整理。
最后一个选项可能是最方便的,但是它会对已经包含快照的 Btrfs 文件系统提出警告:它会破坏快照间的共享范围。换句话来说,两个快照间所有的共享内容,或者一个快照和它的父子卷,在碎片整理操作后将保存多份。
因此如果你在你的文件系统里已经有很多快照你不应该对整个文件系统运行碎片整理。这也没有必要因为如果你想的话Btrfs 可以对特定的目录或者单个文件进行碎片整理。
你可以使用以下命令去执行一次碎片整理:
```
$ sudo btrfs filesystem defragment -r /path/to/defragment
```
例如,你想像这样去整理你主目录的碎片:
```
$ sudo btrfs filesystem defragment -r "$HOME"
```
如果有疑问,最好从碎片整理单个大文件开始,并在监视文件系统上的可用空间的同时继续处理越来越大的目录。
### 测量文件系统压缩
有时,你可能会想,文件系统压缩为你节省了多少空间。但如何判断呢?首先,要知道一个 Btrfs 文件系统是否在挂载时启用了压缩,你可以使用以下命令:
```
$ findmnt -vno OPTIONS /path/to/mountpoint | grep compress
```
如果你得到了结果,那么给定挂载点的文件系统就使用了压缩!下一步,`compsize` 命令会告诉你你的文件需要多少空间:
```
$ sudo compsize -x /path/to/examine
```
在我的主目录,结果是这样:
```
$ sudo compsize -x "$HOME"
Processed 942853 files, 550658 regular extents (799985 refs), 462779 inline.
Type Perc Disk Usage Uncompressed Referenced
TOTAL 81% 74G 91G 111G
none 100% 67G 67G 77G
zstd 28% 6.6G 23G 33G
```
每一行告诉你应用到文件的压缩 “类型” 。* `TOTAL` 是下面所有行的总计。
另一方面,这些列告诉你我们的文件需要多少空间:
* `Disk Usage` 是实际分配在硬盘上的空间,
* `Uncompressed` 是如果没有压缩,文件所需要的空间,
* `Referenced` 是所有未压缩文件加起来的总大小。
`Referenced` 可以与数据 `Uncompressed` 不同,比如一个文件之前被重复了,或者有快照共享内容。在上面的例子,你可以看到在我的硬盘上总计 91 GB 的未压缩文件仅占据了 74 GB 的存储。取决于在目录里存储的文件类型和应用的压缩等级,这些数字可以有很大差异。
### 文件压缩的其它注意事项
Btrfs 使用启发式算法去探测压缩文件。这是因为压缩文件通常效果不好,所以没有必要浪费 CPU 周期去尝试进一步的压缩。为了这个目的Btrfs 在写入压缩数据到磁盘之前测量压缩率。如果文件的第一部分压缩效果不好,文件被标记为不可压缩并且不会有后续的压缩。
如果出于某些原因,你想 Btrfs 压缩所有写入的数据,你可以通过 `compress-force` 选项挂载一个 Btrfs 文件系统,像这样:
```
$ sudo mount -o compress-force=zstd:3 ...
```
当像这样配置Btrfs 会用等级 3 的 `zstd` 算法压缩所有写入磁盘的数据。
一个重要的注意事项是挂载一个有很多数据并开启压缩的 Btrfs 文件系统会比没开启压缩耗时更长。这是有技术上的原因的,而且这是一个不会影响文件系统操作的正常行为。
### 总结
本文详细介绍了 Btrfs 中的透明文件系统压缩。这是一种内置的、相对廉价的方法,可以在不需要修改的情况下从现有硬件中获得一些额外的存储空间。
本系列文章的下一篇将讨论:
- Qgroups - 限制文件系统大小
- RAID - 替换 mdadm 配置
LCTT 译注:后继文章尚未发布,一旦发布我们会尽快翻译。)
如果你想了解与 Btrfs 相关的其他主题,请查看 Btrfs 维基 [^1] 和文档 [^2]。如果你还没有阅读本系列的前三篇文章,请不要忘记去看看!如果你觉得本文缺少某些内容,请在下面的评论中让我知道。我们下篇文章见!
### 参考资料
[^1]: <https://btrfs.wiki.kernel.org/index.php/Main_Page>
[^2]: <https://btrfs.readthedocs.io/en/latest/Introduction.html>
*题图MJ/1a45064c-8da5-4b60-87f2-9886d6a3299e*
--------------------------------------------------------------------------------
via: https://fedoramagazine.org/working-with-btrfs-compression/
作者:[Andreas Hartmann][a]
选题:[lujun9972][b]
译者:[A2ureStone](https://github.com/A2ureStone)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://fedoramagazine.org/author/hartan/
[b]: https://github.com/lujun9972
[1]: https://linux.cn/article-16287-1.html
[2]: https://unsplash.com/@helibertoarias?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText
[3]: https://unsplash.com/s/photos/hdd?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText
[4]: tmp.AcVqx2gIro#sources
[0]: https://img.linux.net.cn/data/attachment/album/202310/19/153401dyst48ybibpy3oyd.jpg

View File

@@ -0,0 +1,319 @@
[#]: subject: "Some notes on using nix"
[#]: via: "https://jvns.ca/blog/2023/02/28/some-notes-on-using-nix/"
[#]: author: "Julia Evans https://jvns.ca/"
[#]: collector: "lkxed"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16332-1.html"
我的一些 nix 学习经验:安装和打包
======
![][0]
最近,我首次尝试了 Mac。直至现在我注意到的最大缺点是其软件包管理比 Linux 差很多。一段时间以来,我对于 homebrew 感到相当不满,因为每次我安装新的软件包时,它大部分时间都花在了升级上。于是,我萌生了试试 [nix][1] 包管理器的想法!
公认的nix 的使用存在一定困惑性(甚至它有自己单独的编程语言!),因此,我一直在努力以最简洁的方式掌握使用 nix避开复杂的配置文件管理和新编程语言学习。以下是我至今为止学习到的内容, 敬请期待如何进行:
- 使用 nix 安装软件包
- 为一个名为 [paperjam][2] 的 C++ 程序构建一个自定义的 nix 包
- 用 nix 安装五年前的 [hugo][3] 版本
如同以往,由于我对 nix 的了解还停留在入门阶段,本篇文章可能存在一些表述不准确的地方。甚至我自己也对于我是否真的喜欢上 nix 感到模棱两可 —— 它的使用真的让人相当困惑!但是,它帮我成功编译了一些以前总是难以编译的软件,并且通常来说,它比 homebrew 的安装速度要快。
### nix 为何引人关注?
通常,人们把 nix 定义为一种“声明式的包管理”。尽管我对此并不太感兴趣,但以下是我对 nix 的两个主要欣赏之处:
- 它提供了二进制包(托管在 [https://cache.nixos.org/][4] 上),你可以迅速下载并安装
- 对于那些没有二进制包的软件nix 使编译它们变得更容易
我认为 nix 之所以擅长于编译软件,主要有以下两个原因:
- 在你的系统中,可以安装同一库或程序的多个版本(例如,你可能有两个不同版本的 libc。举个例子我当前的计算机上就存在两个版本的 node一个位于 `/nix/store/4ykq0lpvmskdlhrvz1j3kwslgc6c7pnv-nodejs-16.17.1`,另一个位于 `/nix/store/5y4bd2r99zhdbir95w5pf51bwfg37bwa-nodejs-18.9.1`
- 除此之外nix 在构建包时是在隔离的环境下进行的,只使用你明确声明的依赖项的特定版本。因此,你无需担心这个包可能依赖于你的系统里的其它你并不了解的包,再也不用与 `LD_LIBRARY_PATH` 战斗了!许多人投入了大量工作,来列出所有包的依赖项。
在本文后面,我将给出两个例子,展示 nix 如何使我在编译软件时遇到了更小的困难。
#### 我是如何开始使用 nix 的
下面是我开始使用 nix 的步骤:
- 安装 nix。我忘记了我当时是如何做到这一点但看起来有一个[官方安装程序][5] 和一个来自 zero-to-nix.com 的 [非官方安装程序][6]。在 MacOS 上使用标准的多用户安装卸载 nix 的 [教程][7] 有点复杂,所以选择一个卸载教程更为简单的安装方法可能值得。
-`~/.nix-profile/bin` 添加到我的 `PATH`
-`nix-env -iA nixpkgs.NAME` 命令安装包
- 就是这样。
基本上,是把 `nix-env -iA` 当作 `brew install` 或者 `apt-get install`
例如,如果我想安装 `fish`,我可以这样做:
```
nix-env -iA nixpkgs.fish
```
这看起来就像是从 [https://cache.nixos.org][8] 下载一些二进制文件 - 非常简单。
有些人使用 nix 来安装他们的 Node 和 Python 和 Ruby 包,但我并没有那样做 —— 我仍然像我以前一样使用 `npm install``pip install`
#### 一些我没有使用的 nix 功能
有一些 nix 功能/工具我并没有使用,但我要提及一下。我最初认为你必须使用这些功能才能使用 nix因为我读过的大部分 nix 教程都讨论了它们。但事实证明,你并不一定要使用它们。
- NixOS一个 Linux 发行版)
- [nix-shell][9]
- [nix flakes][10]
- [home-manager][11]
- [devenv.sh][12]
我不去深入讨论它们,因为我并没真正使用过它们,而且网上已经有很多详解。
### 安装软件包
#### nix 包在哪里定义的?
我认为 nix 包主仓库中的包是定义在 [https://github.com/NixOS/nixpkgs/][13]。
你可以在 [https://search.nixos.org/packages][14] 查找包。似乎有两种官方推荐的查找包的方式:
- `nix-env -qaP NAME`,但这非常缓慢,并且我并没有得到期望的结果
- `nix --extra-experimental-features 'nix-command flakes' search nixpkgs NAME`,这倒是管用,但显得有点儿冗长。并且,无论何种原因,它输出的所有包都以 `legacyPackages` 开头
我找到了一种我更喜欢的从命令行搜索 nix 包的方式:
- 运行 `nix-env -qa '*' > nix-packages.txt` 获取 Nix 仓库中所有包的列表
- 编写一个简洁的 `nix-search` 脚本,仅在 `packages.txt` 中进行 grep 操作(`cat ~/bin/nix-packages.txt | awk '{print $1}' | rg "$1"`
#### 所有的东西都是通过符号链接来安装的
nix 的一个主要设计是,没有一个单一的 `bin` 文件夹来存放所有的包,而是使用了符号链接。有许多层的符号链接。比如,以下就是一些符号链接的例子:
- 我机器上的 `~/.nix-profile` 最终是一个到 `/nix/var/nix/profiles/per-user/bork/profile-111-link/` 的链接
- `~/.nix-profile/bin/fish` 是到 `/nix/store/afkwn6k8p8g97jiqgx9nd26503s35mgi-fish-3.5.1/bin/fish` 的链接
当我安装某样东西的时候,它会创建一个新的 `profile-112-link` 目录并建立新的链接,并且更新我的 `~/.nix-profile` 使其指向那个目录。
我认为,这意味着如果我安装了新版本的 `fish` 但我并不满意,我可以很容易地退回先前的版本,只需运行 `nix-env --rollback`,这样就可以让我回到之前的配置文件目录了。
#### 卸载包并不意味着删除它们
如果我像这样卸载 nix 包,实际上并不会释放任何硬盘空间,而仅仅是移除了符号链接:
```
$ nix-env --uninstall oil
```
我尚不清楚如何彻底删除包 - 我试着运行了如下的垃圾收集命令,这似乎删除了一些项目:
```
$ nix-collect-garbage
...
85 store paths deleted, 74.90 MiB freed
```
然而,我系统上仍然存在 `oil` 包,在 `/nix/store/8pjnk6jr54z77jiq5g2dbx8887dnxbda-oil-0.14.0`
`nix-collect-garbage` 有一个更具攻击性的版本,它也会删除你配置文件的旧版本(这样你就不能回滚了)。
```
$ nix-collect-garbage -d --delete-old
```
尽管如此,上述命令仍无法删除 `/nix/store/8pjnk6jr54z77jiq5g2dbx8887dnxbda-oil-0.14.0`,我不明白原因。
#### 升级过程
你可以通过以下的方式升级 nix 包:
```
nix-channel --update
nix-env --upgrade
```
(这与 `apt-get update && apt-get upgrade` 类似。)
我还没真正尝试升级任何东西。我推测,如果升级过程中出现任何问题,我可以通过以下方式轻松地回滚(因为在 nix 中,所有事物都是不可变的!):
```
nix-env --rollback
```
有人向我推荐了 Ian Henry 的 [这篇文章][15],该文章讨论了 `nix-env --upgrade` 的一些令人困惑的问题 - 也许它并不总是如我们所料?因此,我会对升级保持警惕。
### 下一个目标:创建名为 paperjam 的自定义包
经过几个月使用现有的 nix 包后,我开始考虑制作自定义包,对象是一个名为 [paperjam][2] 的程序,它还没有被打包封装。
实际上,因为我系统上的 `libiconv` 版本不正确,我甚至在没有 nix 的情况下也遇到了编译 `paperjam` 的困难。我认为,尽管我还不懂如何制作 nix 包,但使用 nix 来编译它可能会更为简单。结果证明我的想法是对的!
然而,理清如何实现这个目标的过程相当复杂,因此我在这里写下了一些我实现它的方式和步骤。
#### 构建示例包的步骤
在我着手制作 `paperjam` 自定义包之前,我想先试手构建一个已存在的示例包,以便确保我已经理解了构建包的整个流程。这个任务曾令我头痛不已,但在我在 Discord 提问之后,有人向我阐述了如何从 [https://github.com/NixOS/nixpkgs/][13] 获取一个可执行的包并进行构建。以下是操作步骤:
**步骤 1** 从 GitHub 的 [nixpkgs][13] 下载任意一个包,以 `dash` 包为例:
```
wget https://raw.githubusercontent.com/NixOS/nixpkgs/47993510dcb7713a29591517cb6ce682cc40f0ca/pkgs/shells/dash/default.nix -O dash.nix
```
**步骤 2**`with import <nixpkgs> {};` 替换开头的声明(`{ lib , stdenv , buildPackages , autoreconfHook , pkg-config , fetchurl , fetchpatch , libedit , runCommand , dash }:`)。我不清楚为何需要这样做,但事实证明这么做是有效的。
**步骤 3** 运行 `nix-build dash.nix`
这将开始编译该包。
**步骤 4** 运行 `nix-env -i -f dash.nix`
这会将该包安装到我的 `~/.nix-profile` 目录下。
就这么简单!一旦我完成了这些步骤,我便感觉自己能够逐步修改 `dash` 包,进一步创建属于我自己的包了。
#### 制作自定义包的过程
因为 `paperjam` 依赖于 `libpaper`,而 `libpaper` 还没有打包,所以我首先需要构建 `libpaper` 包。
以下是 `libpaper.nix`,我基本上是从 [nixpkgs][13] 仓库中其他包的源码中复制粘贴得到的。我猜测这里的原理是nix 对如何编译 C 包有一些默认规则,例如 “运行 `make install`”,所以 `make install` 实际上是默认执行的,并且我并不需要明确地去配置它。
```
with import <nixpkgs> {};
stdenv.mkDerivation rec {
pname = "libpaper";
version = "0.1";
src = fetchFromGitHub {
owner = "naota";
repo = "libpaper";
rev = "51ca11ec543f2828672d15e4e77b92619b497ccd";
hash = "sha256-S1pzVQ/ceNsx0vGmzdDWw2TjPVLiRgzR4edFblWsekY=";
};
buildInputs = [ ];
meta = with lib; {
homepage = "https://github.com/naota/libpaper";
description = "libpaper";
platforms = platforms.unix;
license = with licenses; [ bsd3 gpl2 ];
};
}
```
这个脚本基本上告诉 nix 如何从 GitHub 下载源代码。
我通过运行 `nix-build libpaper.nix` 来构建它。
接下来,我需要编译 `paperjam`。我制作的 [nix 包][16] 的链接在这里。除了告诉它从哪里下载源码外,我需要做的主要事情有:
- 添加一些额外的构建依赖项(像 `asciidoc`
- 在安装过程中设置一些环境变量(`installFlags = [ "PREFIX=$(out)" ];`),这样它就会被安装在正确的目录,而不是 `/usr/local/bin`
我首先从散列值为空开始,然后运行 `nix-build` 以获取一个关于散列值不匹配的错误信息。然后我从错误信息中复制出正确的散列值。
我只是在 nixpkgs 仓库中运行 `rg PREFIX` 来找出如何设置 `installFlags` 的 —— 我认为设置 `PREFIX` 应该是很常见的操作,可能之前已经有人做过了,事实证明我的想法是对的。所以我只是从其他包中复制粘贴了那部分代码。
然后我执行了:
```
nix-build paperjam.nix
nix-env -i -f paperjam.nix
```
然后所有的东西都开始工作了,我成功地安装了 `paperjam`!耶!
### 下一个目标:安装一个五年前的 Hugo 版本
当前,我使用的是 2018 年的 Hugo 0.40 版本来构建我的博客。由于我并不需要任何的新功能,因此我并没有感到有升级的必要。对于在 Linux 上操作这个过程非常简单Hugo 的发行版本是静态二进制文件,这意味着我可以直接从 [发布页面][17] 下载五年前的二进制文件并运行。真的很方便!
但在我的 Mac 电脑上我遇到了一些复杂的情况。过去五年中Mac 的硬件已经发生了一些变化,因此我下载的 Mac 版 Hugo 二进制文件并不能运行。同时,我尝试使用 `go build` 从源代码编译,但由于在过去的五年内 Go 的构建规则也有所改变,因此没有成功。
我曾试图通过在 Linux docker 容器中运行 Hugo 来解决这个问题,但我并不太喜欢这个方法:尽管可以工作,但它运行得有些慢,而且我个人感觉这样做有些多余。毕竟,编译一个 Go 程序不应该那么麻烦!
幸好Nix 来救援!接下来,我将介绍我是如何使用 nix 来安装旧版本的 Hugo。
#### 使用 nix 安装 Hugo 0.40 版本
我的目标是安装 Hugo 0.40,并将其添加到我的 PATH 中,以 `hugo-0.40` 作为命名。以下是我实现此目标的步骤。尽管我采取了一种相对特殊的方式进行操作,但是效果不错(可以参考 [搜索和安装旧版本的 Nix 包][18] 来找到可能更常规的方法)。
**步骤 1** 在 nixpkgs 仓库中搜索找到 Hugo 0.40。
我在此链接中找到了相应的 `.nix` 文件 [https://github.com/NixOS/nixpkgs/blob/17b2ef2/pkgs/applications/misc/hugo/default.nix][19]。
**步骤 2** 下载该文件并进行构建。
我下载了带有 `.nix` 扩展名的文件(以及同一目录下的另一个名为 `deps.nix` 的文件),将文件的首行替换为 `with import <nixpkgs> {};`,然后使用 `nix-build hugo.nix` 进行构建。
虽然这个过程几乎无需进行修改就能成功运行,但我仍然做了两处小调整:
-`with stdenv.lib` 替换为 `with lib`
- 为避免与我已安装的其他版本的 `hugo` 冲突,我把包名改为了 `hugo040`
**步骤 3**`hugo` 重命名为 `hugo-0.40`
我编写了一个简短的后安装脚本,用以重命名 Hugo 二进制文件。
```
postInstall = ''
mv $out/bin/hugo $out/bin/hugo-0.40
'';
```
我是通过在 nixpkgs 仓库中运行 `rg 'mv '` 命令,然后复制和修改一条看似相关的代码片段来找到如何实施此步骤。
**步骤 4** 安装。
我通过运行 `nix-env -i -f hugo.nix` 命令,将 Hugo 安装到了 `~/.nix-profile/bin` 目录中。
所有的步骤都顺利运行了!我把最终的 `.nix` 文件存放到了我自己的 [nixpkgs 仓库][20] 中,这样我以后如果需要,就能再次使用它了。
### 可重复的构建过程并非神秘,其实它们极其复杂
我觉得值得一提的是,这个 `hugo.nix` 文件并不是什么魔法——我之所以能在今天轻易地编译 Hugo 0.40,完全归功于许多人长期以来的付出,他们让 Hugo 的这个版本得以以可重复的方式打包。
### 总结
安装 `paperjam` 和这个五年前的 Hugo 版本过程惊人地顺利,实际上比没有 nix 来编译它们更简单。这是因为 nix 极大地方便了我使用正确的 `libiconv` 版本来编译 `paperjam` 包,而且五年前就已经有人辛苦地列出了 Hugo 的确切依赖关系。
我并无计划详细深入地使用 nix真的我很可能对它感到困扰然后最后选择回归使用 homebrew但我们将拭目以待我发现简单入手然后按需逐步掌握更多功能远比一开始就全面接触一堆复杂功能更容易掌握。
我可能不会在 Linux 上使用 nix —— 我一直都对 Debian 基础发行版的 `apt` 和 Arch 基础发行版的 `pacman` 感到满意,它们策略明晰且少有混淆。而在 Mac 上,使用 nix 似乎会有所得。不过,谁知道呢!也许三个月后,我可能会对 nix 感到不满然后再次选择回归使用 homebrew。
*题图MJ/f68aaf37-4a34-4643-b3a1-8728d49cf887*
--------------------------------------------------------------------------------
via: https://jvns.ca/blog/2023/02/28/some-notes-on-using-nix/
作者:[Julia Evans][a]
选题:[lkxed][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://jvns.ca/
[b]: https://github.com/lkxed/
[1]: https://nixos.org/
[2]: https://mj.ucw.cz/sw/paperjam/
[3]: https://github.com/gohugoio/hugo/
[4]: https://cache.nixos.org/
[5]: https://nixos.org/download
[6]: https://zero-to-nix.com/concepts/nix-installer
[7]: https://nixos.org/manual/nix/stable/installation/installing-binary.html#macos
[8]: https://cache.nixos.org
[9]: https://nixos.org/guides/nix-pills/developing-with-nix-shell.html
[10]: https://nixos.wiki/wiki/Flakes
[11]: https://github.com/nix-community/home-manager
[12]: https://devenv.sh/
[13]: https://github.com/NixOS/nixpkgs/
[14]: https://search.nixos.org/packages
[15]: https://ianthehenry.com/posts/how-to-learn-nix/my-first-package-upgrade/
[16]: https://github.com/jvns/nixpkgs/blob/22b70a48a797538c76b04261b3043165896d8f69/paperjam.nix
[17]: https://github.com/gohugoio/hugo/releases/tag/v0.40
[18]: https://lazamar.github.io/download-specific-package-version-with-nix/
[19]: https://github.com/NixOS/nixpkgs/blob/17b2ef2/pkgs/applications/misc/hugo/default.nix
[20]: https://github.com/jvns/nixpkgs/
[0]: https://img.linux.net.cn/data/attachment/album/202310/30/221702nk4a42dglmcgc7lh.jpg

View File

@@ -0,0 +1,150 @@
[#]: subject: "Make use of Btrfs snapshots to upgrade Fedora Linux with easy fallback"
[#]: via: "https://fedoramagazine.org/make-use-of-btrfs-snapshots-to-upgrade-fedora-linux-with-easy-fallback/"
[#]: author: "Stuart D Gathman https://fedoramagazine.org/author/sdgathman/"
[#]: collector: "lujun9972"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16267-1.html"
使用 Btrfs 快照方便升级 Fedora Linux 且易于回退
======
![][0]
在 2018 年的一篇 [早前的文章][3] 中,我们介绍了在升级 Fedora Linux 前如何利用 LVM 复制根文件系统以便在可能出现错误的情况下能有一个回退机制。然而如今Fedora 工作站的默认安装已经是 Btrfs 文件系统了。现在,你可以利用 Btrfs 快照来更简便地创建一个可引导的回退系统。注意,本文不涉及会如何从其它文件系统转换或迁移到 Btrfs 上。
### 确认根文件系统是否为 Btrfs
本示例采用的是 Pinebook aarch64 笔记本电脑。在开始前,务必确认你的根文件系统是否采用 Btrfs。要明确不是所有的定制版或者镜像文件默认都使用 Btrfs。
```
$ df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
devtmpfs devtmpfs 4096 0 4096 0% /dev
tmpfs tmpfs 998992 0 998992 0% /dev/shm
tmpfs tmpfs 399600 6360 393240 2% /run
/dev/mmcblk2p3 btrfs 56929280 39796116 15058348 73% /
tmpfs tmpfs 998996 24 998972 1% /tmp
tmpfs tmpfs 5242880 0 5242880 0% /var/lib/mock
/dev/mmcblk2p3 btrfs 56929280 39796116 15058348 73% /f34
/dev/mmcblk2p3 btrfs 56929280 39796116 15058348 73% /home
/dev/mmcblk2p2 ext4 996780 551888 376080 60% /boot
/dev/mmcblk2p1 vfat 194348 31648 162700 17% /boot/efi
tmpfs tmpfs 199796 100 199696 1% /run/user/1000
tmpfs tmpfs 199796 84 199712 1% /run/user/0
```
### 列出当前的 Btrfs 子卷
以上的示例输出显示挂载在 “根”(`/`)的文件系统类型是 Btrfs。你会注意到有三个挂载点显示了相同的备份设备以及 _已用__可用_ 的块数。这是因为它们是从同一 Btrfs 文件系统挂载的不同部分(子卷)。比如,`/f34` 子卷是我去年创建的那个可引导快照。
默认的 Fedora Btrfs 安装会创建一个 Btrfs 文件系统,并在其上分别挂载两个子卷,`root``home` ,挂载路径分别为 `/``/home`。让我们一起来看看我还添加了哪些其它的子卷:
```
$ sudo btrfs subvol list /
ID 272 gen 110428 top level 5 path root
ID 273 gen 110426 top level 5 path home
ID 300 gen 109923 top level 5 path f34
ID 301 gen 95852 top level 5 path home.22Jul26
ID 302 gen 95854 top level 5 path f36.22Jul26
```
在这里,我们有一个来自最近一次系统升级的 `f34` 子卷,以及两个只读快照 `home``f36`。要添加和删除这些快照,最简单的方法就是挂载 Btrfs 的根目录。我会更新系统并创建当前 f36 `root` 子卷的新快照。如果你已经重命名了你的 `root` 子卷,我相信你知道该如何调整以下的示例以适应你的系统。
### 创建 Btrfs 的回退快照
```
$ sudo dnf update --refresh
...更新了很多部分(如果升级了内核还需要重启)
$ sudo mkdir -p /mnt/root
$ sudo mount /dev/mmcblk2p3 /mnt/root
$ cd /mnt/root
$ ls
f34 f36.22Jul26 home home.22Jul26 root
$ sudo btrfs subvol snapshot root f36
Create a snapshot of 'root' in './f36'
```
因为 Btrfs 快照是以文件系统为基础的,所以并不需要在创建快照之前进行 “同步”,正如我在 LVM 中建议的。要从新的子卷引导为回退,你需要使用你喜欢的编辑器编辑 `/mnt/root/f36/etc/fstab`。如果你是刚入门的话nano 就是一款十分简单的文本编辑器,功能基本够用。以下是我 `fstab` 文件中的一些行:
```
LABEL=PINE / btrfs subvol=root,compress=zstd:1 1 1
UUID=e31667fb-5b6f-48d9-aa90-f2fd6aa5f005 /boot ext4 defaults 1 2
UUID=75DB-5832 /boot/efi vfat umask=0077,shortname=winnt 0 2
LABEL=PINE /home btrfs subvol=home,compress=zstd:1 1 1
LABEL=SWAP swap swap discard=once 0 0
```
`subvol=root` 更改为 `subvol=f36`。这个改动是作用在快照中的文件,而并非你实际运行中的 `fstab` 文件。你可以通过 `diff /etc/fstab /mnt/root/f36/etc/fstab` 对比它们的区别。在我的情况下,我还使用了 `sudo btrfs subvol delete f34` 来删除我去年的 `f34` 快照。
### 测试 Btrfs 的回退快照
你现在可以进行回退的测试了。你可以使用 [grubby][4] 或在 `/boot/loader/entries` 中编辑一项来将 `subvol=root` 替换为 `subvol=f36`。然而,为了初学者的安全起见,我们更建议你在启动时编辑 GRUB 进行操作。你可以参考 [关于 GRUB 的这篇文章][5] 了解如何进入 GRUB 菜单。在你到达那里后,按下 `e` 键编辑默认的内核启动项。放心 —— 你所做的更改都只存在于内存中,如果你弄错了,重启电脑即可重新开始。就像编辑 `fstab` 文件一样,找到 `subvol=root` 并将其更改为 `subvol=f36`。然后,按 `F10``Ctrl + X` 来引导你修改过的项目。通过这些更改,你的系统应该能够引导进入你的新快照。你可以查看 `/etc/fstab` 确保你正在引导至正确的子卷,或键入 `mount | grep subvol` 查看此时在 `/` 上挂载的子卷。
### 进行 Fedora Linux 的系统升级
如果你的回退功能没问题,重启并返回你的正常根文件系统(并像上面所述,进行确认)。然后,按照 [维基页面][6] 上的指南进行标准的系统升级。提示:在运行 `dnf system-upgrade reboot` 之前,给 `root` 子卷创建另一个快照,你可以给它命名为 `root.dl`。这样,如果你发现硬盘空间不够,你不必再下载五个 GB 的文件包。因为除了下载的包以外,所有的内容都将与 `root``f36` 共享,因此它不会占用任何额外的空间。然后说到磁盘块的共享问题……
因为在 `root` 子卷中的 `f36` 文件和 `f36` 子卷中的相同文件都使用的是相同的磁盘位置,所以在处理 Btrfs 报告的可用空间时,`dnf system-upgrade` 会感到困惑。因此在升级过程中从 `root` 子卷中删除它们并不会真正释放任何空间。如果你耗尽了所有空间并且决定重启电脑那么图形用户界面GUI将无法启动。此时你需要使用 `Ctrl + Alt + F2` 进入文本控制台并登录,这将是你磨练命令行技能的好机会。如何清空空间或扩展根文件系统在这里先不做讨论(我的文件系统经常在一个 LVM 的卷上,可以被扩展)。通常,为升级保留超过 50% 的空闲空间是比较保险的。
### 恢复环节
如果不幸出现问题,你可以重启电脑,并编辑 GRUB 条目以引导启动回退快照。如果你是新手,一旦需要在磁盘上修改 GRUB 条目(这样你就不需要每次启动时都进行编辑),可能需要一些指导。删除或重命名损坏的 `root` 子卷是非常直接的。你可以为 `f36` 子卷(或 `root.dl` 快照)创建一个快照,然后尝试再一次进行系统升级。以下是在子卷 f36 上启动到回退系统后重新开始的示例:
```
$ mount | grep subvol
$ sudo mount /dev/mmcblk2p3 /mnt/root
$ cd /mnt/root
$ sudo mv root root.failed
$ sudo btrfs subvol snapshot f36 root
Create a snapshot of 'f36' in './root'
Don't forget to edit /mnt/root/root/etc/fstab to change the subvol mounted on "/" to "root".
```
事实证明,新的 f38 版本的 kernel-6.2.11 在我的 Pinebook 上进行系统升级后并未成功启动不过请不要担心ARM 只是 Fedora Linux 的可选 CPU 架构——在主流设备上,你很少会遭遇此类问题。)的确,我成功地按照前文所述,在启动时编辑了 GRUB 条目并恢复到了 f36 的 kernel-6.2.10。现在,我继续使用着 f38但同时搭载了 f36 的 kernel-6.2.10。
**更新**kernel-6.2.12 已经发布,且我已确认它在 Pinebook 上运行正常。
### 过期问题
随着你不断更新 f38 系统,它最终可能会希望删除 `/boot` 下的最后一个 f36 内核。通常来说,这并不是问题,因为到那个时候,你已经完全熟悉 f38`f36` 快照只是一个存档。然而,如果你希望你的复刻版本(即 `f36` 的快照)能无限期地启动,那么你应当在 `/boot` 下保存一个能正常工作的 f36 内核。最简单的方法是在 `/etc/dnf/dnf.conf` 文件中设置 `installonly_limit=0` 并手动移除旧的内核,这种方法既简单又安全(尽管可能稍显繁琐)。
这里还有一个更复杂的解决方案(不适合新手):运行 `find /boot -name "*fc36*"` 指令,列举出所有在 `f36` 子卷快照中的内核及 GRUB 文件(这些文件并未包含在快照之内)。将这些文件备份至安全位置(例如我会挂载 `f36` 子卷,并将文件备份至其下的一个目录)。当 f38 系统启动后,对于每一个 f36 内核版本,都需使用 `dnf` 删除特定版本的内核(例如,使用 `dnf remove kernel-core-5.19.11-200.fc36`)。千万不要删除 f38 的内核!然后将你先前备份的 f36 内核恢复至 `/boot` 下。此时f38 系统已经无法再识别 f36 的内核,因此也不会将其从 `/boot` 中删除。
然而,使用此方法有一个缺点,那就是你可能会不小心删除正在运行的 f38 内核。如果大家有更佳的解决办法,欢迎在评论区分享。
### 展望未来
对于习惯于修改 GRUB 条目的用户,他们可能会考虑创建一个命名为 `f38` 的快照子卷。将当前的 GRUB 条目进行修改,以便启动到这个子卷,重启后,在这个子卷中进行系统升级。此后,总是根据它所包含的 Fedora Linux 版本来命名根文件系统的子卷。但在本文中,我没有采用这种作法,原因有两点:
1. 将当前活动的子卷命名为 `root`,这是遵循 Fedora Linux 的默认设置。
2. 坚持使用 `root` 作为当前子卷,这样在进行正常的系统升级操作之外,并不需要任何永久性的更改。
正如本文所展示的,针对重大系统更改(如系统版本升级)可能引发问题时,只读快照作为本地恢复点,非常有用。这些快照还可以通过 Btrfs 的 `send` 子命令发送至远程备份。如果远程备份设备已经包含了先前的备份数据Btrfs 可以进行增量发送,仅传输发生变更的文件,这样就能节省时间和空间。)如果你打算长期存档这些快照,保持清晰不混淆且能明确恢复顺序的关键,就是要使用一套一致的命名规则。关于如何使用 Btrfs 的 `send` 命令来创建备份的更多信息,你可以参考关于 [Btrfs 快照备份][7] 的文章。
*题图MJ/6aed1d19-f1dd-4935-ad6f-61f6a868f150*
--------------------------------------------------------------------------------
via: https://fedoramagazine.org/make-use-of-btrfs-snapshots-to-upgrade-fedora-linux-with-easy-fallback/
作者:[Stuart D Gathman][a]
选题:[lujun9972][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://fedoramagazine.org/author/sdgathman/
[b]: https://github.com/lujun9972
[1]: https://fedoramagazine.org/wp-content/uploads/2023/04/forkedtree-816x345.jpg
[2]: https://www.flickr.com/photos/brenejohn/20155029206/
[3]: https://fedoramagazine.org/use-lvm-upgrade-fedora/
[4]: https://fedoramagazine.org/setting-kernel-command-line-arguments-with-fedora-30/
[5]: https://fedoramagazine.org/boot-earlier-kernel/
[6]: https://docs.fedoraproject.org/en-US/quick-docs/dnf-system-upgrade/
[7]: https://fedoramagazine.org/btrfs-snapshots-backup-incremental/
[0]: https://img.linux.net.cn/data/attachment/album/202310/09/113654ba1kp126nzn6tpjv.jpg

View File

@@ -0,0 +1,261 @@
[#]: subject: "Using ls Command in Linux"
[#]: via: "https://itsfoss.com/ls-command/"
[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/"
[#]: collector: "lkxed"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16266-1.html"
Linux 中的 ls 命令使用教程
======
![][0]
> ls 属于 Linux 中那些简单又常用的命令之一。在本教程里,你将学到如何高效使用它。
对我个人而言,`ls` 无疑是 [最常被使用的 Linux 命令][1],因为我们总是借助它 [列出目录内的内容][2] 来检验上一步操作的结果。
`ls` 命令是 “<ruby>列表<rt>List</rt></ruby>” 的缩写,其功能就是列出你指定目录下的所有内容。
我将在本教程中,通过一系列的实例,带你一步步掌握 `ls` 命令的使用。
另外也会给出一些练习题,以检验你的学习成果。
### 如何运用 ls 命令
要使用 `ls` 命令,你只需遵循以下简单的命令格式:
```
ls [OPTIONS] Targeted_Directory
```
这里,
- `[OPTIONS]`:用来改变 ls 命令的默认行为。
- `Targeted_Directory`:在这里输入目录名或目录的绝对路径。
你可能会想,如果没有任何选项地使用 `ls` 命令会发生什么。为了回答这个问题,我在当前工作目录中使用了 `ls` 命令:
![使用 ls 命令列出工作目录的内容][3]
如你所见,它列出了当前工作目录中所有可用的目录和文件。但你可以做的远不止于在当前工作目录中获取名称和文件。
接下来让我给你展示一下。
#### 1、列出带有所有权的文件和目录
`ls` 命令的重要用途之一就是查出具体的文件或目录的权限以及所有权信息。
这就需要你在使用 `ls` 命令时,带上 `-l` 选项(这也被称为长列表格式):
```
ls -l
```
执行该命令后,你会看到类似的输出:
```
$ ls -lh
-rwxrw-r-- 1 sagar sagar 666M Dec 10 18:16 Fedora.iso
```
注意到我是同时使用了 `h` 选项吗?我们稍后会详细说明这个。
如果目前为止的输出结果看起来太复杂,那就让我来帮你简化一下:
![利用 ls 命令在 Linux 中解读文件权限和所有权][4]
如你所见,每个文本块都有特定的含义,它们分别对应文件拥有者、组和其他用户的各项权限。
对于想对文件权限有更深入理解的朋友,我推荐你阅读 [我们关于 Linux 文件权限的详尽指南][5]。
#### 2、获取以人类可读的方式显示的信息
默认状态下,文件大小以字节为单位显示,显然不是最佳的查阅方式。那如果想以更易读的方式来得知相同的信息,我们怎么做呢?
其实很简单。你只需使用 `-h` 选项与 `ls` 命令配合:
```
ls -l -h
```
接下来,我们比较下默认显示状态和可读性更强的显示方式的区别:
![以人类可读的方式通过 ls 命令列出文件][6]
明显更好了,对吧?
> 💡 尽管 `ls` 命令很好地展示了文件大小,但它并不能告诉你文件夹的大小,普遍情况都会显示为 4KLCTT 译注:这其实是“目录”这个文件所占用的大小,而不是该目录下文件的总计大小。)。如果需要了解文件夹的大小,那么你可以尝试使用 `du` 命令。
#### 3、列出隐藏文件
和其他所有文件管理器一样,`ls` 命令在默认情况下并不会显示隐藏文件(这正是隐藏文件的意义所在,对吧?)。
那么,如果你期望在常规文件之外,一并 [列出隐藏文件][7] 呢?只需在使用 `ls` 命令时带上 `-a` 选项就行:
```
ls -a
```
你会注意到,以 `.` 开头的文件名就是所谓的隐藏文件。
![用 ls 命令在 Linux 终端列出隐藏文件][8]
> 💡 你还可以使用 `ls -A`,它的功能与 `ls -a` 类似,但它不包括 `.` 和 `..` 这两个目录。
#### 4、递归列出文件
事实上,有 [多种方法可以递归列出文件][9],使用 `ls` 命令就是其中之一。
如果你还不清楚,递归列出文件就是指展示所有子目录中的文件,直到每个子目录的最深层次。
你可以通过使用 `-R` 参数来递归列出文件:
```
ls -R
```
![在 Linux 中使用 ls 命令递归列出文件][10]
这种方式实际上为你展示了当前目录的结构,我个人非常喜欢这种方式,但你需要先进行安装。
> 💡 其实你并不需要进入某个目录才能查看其内容,你可以直接通过提供它的绝对路径或相对路径来列出目录内容,比如:`ls /var/log`。
#### 5、在使用 ls 时对文件和目录做区分
通常,不同的颜色就足以区分文件和目录。但是如果你基于某种原因需要给文件和目录添加符号标识,这就有一个办法。
`ls` 命令中,使用 `-F` 选项,它会在每个目录名末尾添加一个正斜杠 `/`
```
ls -F
```
![使用 ls 命令在文件和目录间做区分][11]
#### 6、列出指定扩展名的文件
有些情况下,你可能只希望列出具有特定扩展名的文件,实际上,这是最简单的操作之一。
做到这一点,你无需使用任何选项。只需在星号 `*` 后附上文件扩展名,如 `*.png``*.txt` 等:
```
ls *.extension
```
例如,如果我只想列出 ISO 文件,那么我将使用以下命令:
```
ls *.iso
```
![列出特定扩展名的文件][12]
#### 7、基于大小对输出内容排序
若希望基于文件大小来对输出内容排序,你需要使用 `-S` 选项,它会以从大到小的方式(降序)列出文件:
```
ls -lhS
```
![使用 ls 命令基于文件大小排序][13]
相反,如果你想颠倒这个顺序,使得最小的文件首先被列出,你可以利用 `-r` 选项来实现反向排序:
```
ls -lhSr
```
![使用 ls 命令从小到大排序文件][14]
#### 8、根据日期和时间排序文件
`ls` 命令在列出的内容中包括文件的修改时间。
如果你希望最新的文件最先被列出,可以使用 `-t` 选项,如下所示:
```
ls -lht
```
![使用 ls 命令最先列出最新文件][15]
你也可以像我前面提到的那样,在这里使用 `-r` 选项进行反转排序。
```
ls -lrt
```
这会使得最近修改的文件在列表的底部显示,当目录中存在大量文件,而你希望查看最近被修改过的文件时,这一命令会特别有用。我在解决我的软件项目问题时就经常用到它。
![使用 ls -lrt 命令][16]
### 让我们来总结一下至此你已经学习到的!
下面,我会共享一个表列出本教程中介绍过的一些与 `ls` 命令一起使用的选项:
| 命令 | 描述 |
| :- | :- |
| `ls -l` | 长格式列出文件和目录 |
| `ls -lh` | 以人类可读的方式显示信息 |
| `ls -a` | 在列出的内容中包括隐藏文件 |
| `ls -R` | 递归列出文件 |
| `ls -F` | 在目录名后添加正斜杠 |
| `ls *.ext` | 列出具有特定扩展名的文件 |
| `ls -lS` | 根据文件大小排序 |
| `ls -lt` | 根据修改时间排序 |
| `-r` | 反转排序顺序(与 `-S``-t` 结合使用) |
### 🏋️ 并练习你所学
实践你所学总是一个好主意,这就是我们在每一份终端指南中都试图添加实践部分的原因。
所以,这里有一些关于 `ls` 命令的简单练习:
- 列出 `/var/log` 的内容
- [将命令的输出][17] 保存到名为 `output.txt` 的文件中
- 找出最近的 3 个文件(使用基于时间的排序)
- 基于大小显示文件,但排序方式要反转
- 检查是否存在任何隐藏文件
这些练习对你来说会很有帮助。期待之后更多关于 Linux 命令的学习。
如果你是初次接触终端,别忘了关注我们的终端基础系列。
祝你日有进益 :)
*题图MJ/8fb35776-5192-43ca-b96d-31bbd77c3318*
--------------------------------------------------------------------------------
via: https://itsfoss.com/ls-command/
作者:[Sagar Sharma][a]
选题:[lkxed][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/sagar/
[b]: https://github.com/lkxed/
[1]: https://itsfoss.com/essential-ubuntu-commands/
[2]: https://itsfoss.com/list-directory-content/
[3]: https://itsfoss.com/content/images/2023/07/use-the-ls-command-to-list-the-contents-of-the-working-directory.png
[4]: https://itsfoss.com/content/images/2023/07/explain-read-write-permissions-in-linux-filesystem.png
[5]: https://linuxhandbook.com:443/linux-file-permissions/
[6]: https://itsfoss.com/content/images/2023/07/list-files-using-the-ls-command-in-human-readable-format.png
[7]: https://itsfoss.com/show-hidden-files-linux/
[8]: https://itsfoss.com/content/images/2023/07/list-hidden-files-in-Linux-terminal-using-the-ls-command.png
[9]: https://linuxhandbook.com:443/list-files-recursively/
[10]: https://itsfoss.com/content/images/2023/07/list-files-recursilvely-in-Linux-using-the-ls-command.png
[11]: https://itsfoss.com/content/images/2023/07/differenciate-between-files-and-directories-while-using-the-ls-command.png
[12]: https://itsfoss.com/content/images/2023/07/list-files-of-a-specific-file-extensions.png
[13]: https://itsfoss.com/content/images/2023/07/sort-files-based-on-their-file-size-using-the-ls-command.png
[14]: https://itsfoss.com/content/images/2023/07/sort-files-from-smallest-to-largest-using-the-ls-command.png
[15]: https://itsfoss.com/content/images/2023/07/show-newest-files-first-while-using-the-ls-command.png
[16]: https://itsfoss.com/content/images/2023/07/output_for_ls_-lrt-1.png
[17]: https://itsfoss.com/save-command-output-to-file-linux/
[0]: https://img.linux.net.cn/data/attachment/album/202310/08/200201p8sfy8shyyyspxxx.jpg

View File

@@ -0,0 +1,260 @@
[#]: subject: "7 Things You Never Knew You Could Do in GNOME's Activity Search"
[#]: via: "https://itsfoss.com/gnome-search/"
[#]: author: "Sreenath https://itsfoss.com/author/sreenath/"
[#]: collector: "lujun9972"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16273-1.html"
GNOME 活动搜索:你可能从未了解过的 7 个功能
======
![][0]
> GNOME 的桌面环境中隐藏着丰富的搜索特性,爱探索的你不妨尝试寻找。挖掘新知,将是一场乐趣无穷的旅程。
在我之前的 [一篇文章][1] 中,分享过在 Nautilus 文件管理器中如何掌握搜索的技巧。
在这次的教程中,我将介绍 GNOME 活动区域中一些被忽视的搜索功能。
如果 “<ruby>GNOME 活动<rt>GNOME Activities</rt></ruby>” 这个术语你并不熟悉,你可以在 GNOME 桌面环境的左上角找到并点击 “<ruby>活动<rt>Activities</rt></ruby>” 按钮,进入相应界面。
![点击活动以访问][2]
你也可以通过按下 `Super` 键(即:`Windows` 键)来快速访问。
![GNOME 搜索界面][3]
尽管 GNOME 内置了强大的搜索功能,但大部分人却仅仅用它来搜索和运行应用。
![大部分人用 GNOME 活动来搜索和运行应用][4]
而实则,它还有更多的功能等待你去探索,这些可能在你使用过程中派上大用场,同时让你带上专业用户的范儿。
就让我们逐个介绍这些隐藏功能吧。
### 1、全局文件搜索
这个功能和打开应用非常类似。当你在搜索区域开始输入,你会发现搜索结果在不断的变化。如果有文件与你的搜索关键词匹配上,你可以点击文件名,也可以按回车,以默认的应用打开它。
![文件搜索][5]
在同一界面中,你可以看到每个文件都有一个小型的预览。并且,列表中的每个文件都会标注其完整路径。
如果你细看,你会发现这里有一个文件管理器的图标,点击它。
![文件管理器图标][6]
点击后,会打开 Nautilus 文件管理器,并进入搜索模式,你可以看到所有匹配到的文件。
![Nautilus 文件管理器的搜索模式][7]
同样的,如果你点击了搜索结果中的某个应用图标,将打开这个应用,并同时展示相应的搜索结果。
> 💡 如果你已经安装了 GNOME Sushi你甚至可以在开始使用这些文件前使用全屏模式预览它们。
### 2、复制表情符和特殊字符
GNOME 提供了一个名为 `gnome-characters` 的应用,它包含了许多表情符以及相关字符。如果你还未安装这个应用,可以使用以下命令进行安装:
```
sudo apt install gnome-characters
```
安装完成后,这个应用将配置自己的搜索提供器。这意味着你能够搜索任何字符的名称,并且在输入过程中,系统会为你提供各种搜索建议。
![搜索概览中的字符][8]
一旦你找到了想要的字符,按回车键,就可以将其复制到剪贴板。然后使用 `CTRL+V` 进行粘贴。
![字符已复制][9]
### 3、不必打开计算器便能进行计算
你完全可以利用 GNOME shell 的搜索功能当作一个快捷的计算器。对于一些简单的数学运算,并无必要额外打开计算器应用。
相反,你可以直接在 GNOME 活动区域内完成计算。
![获取计算结果][11]
此外,你还可以将计算结果复制到剪贴板。
### 4、轻松获取全球时间
想要知道另一个城市现在的具体时间吗不必使用其他小工具或程序仅仅输入城市名称GNOME shell 就能告诉你该地的时间。
![GNOME Shell 搜索中的世界时钟][12]
### 5、方便地在运行中的终端窗口之间切换
假设你同时运行了多个终端窗口,或者在同一终端窗口中打开多个标签,各自运行了不同的活动命令,例如 `top`,或者用 `bat``less` 在读取某个文件等,
你可以通过在 GNOME shell 搜索中输入命令名称,快速定位到正在运行该命令的终端窗口。
![获取运行中的终端窗口][13]
你会发现,我在其中一个终端中运行了 `top` 可以直接跳转到此终端窗口。若这是在不同的标签中,它也能帮你切换到运行着这个特定命令的标签页。
### 6、执行网络搜索
你可以通过 GNOME Shell 直达 Firefox 的网页搜索。为能实现这个功能,你需要先在后台打开 Firefox。
![设置中的 Firefox 角色——搜索提供器][14]
启动 Firefox 后,你可以在活动概览中搜索并找到网页结果。除此之外,你还可以在系统设置中,根据你的喜好对 Firefox 的显示顺序进行调整。
![Firefox 搜索结果][15]
> 🚧 遗憾的是,在我使用的 Fedora 38 系统中,虽然 Firefox 是搜索提供器,但我无法从中获得任何搜索结果。但在 Manjaro 上,一切运行正常。
如果你使用的是其他的发行版,你可以在 GNOME shell 搜索中,通过 Epiphany 或 GNOME Web 浏览器来访问网络搜索结果。首先,你可以使用你的包管理器来安装 Epiphany
```
sudo apt install epiphany
```
或者,你也可以从 Flathub 安装:
```
flatpak install flathub org.gnome.Epiphany
```
安装完成后,打开设置,找到搜索功能。这时,你会看到 GNOME Web 已经出现在列表中了。
![搜索设置中的 GNOME Web][16]
如果它未被激活,只需开启这个开关。即使 GNOME Web 并没有被打开,它仍能正常工作。
![使用 GNOME Web 搜索得到的网络结果][17]
> 💡 如果一个新安装的应用程序提供了某种搜索功能,它将会出现在搜索标签页中。
### 7、管理搜索结果的显示顺序
你可以使用系统设置对显示的搜索结果进行重新排序,禁用某些结果等操作。
#### 在系统设置应用中访问搜索设置
打开系统设置,然后进入搜索选项卡。
![设置中的搜索选项卡][18]
#### 重新排序搜索结果显示的顺序
打开搜索设置后,你可以看到列出了所有可用的搜索提供器。每一个项目的左侧有一个把手,右侧有三个点的菜单。
![用于排列项目的按钮和把手][19]
你可以直接拖拽左侧的把手来调整项目顺序,将其放到你希望的位置。
![拖拽调整项目显示的顺序][20]
或者,你也可以点击右侧三点菜单,然后选择“<ruby>向上移动<rt>Move Up</rt></ruby>”或“<ruby>向下移动<rt>Move Down</rt></ruby>”。
![使用按钮上下移动][21]
调整后的设置将会作为 GNOME shell 搜索结果新的显示顺序。
#### 管理各个文件的搜索位置
通过搜索选项卡里的“<ruby>搜索位置<rt>Search Locations</rt></ruby>”选项,你可以调整系统应用,如文件、照片、视频等的搜索位置。
![][22]
现在,你可以开启或者关闭已有的搜索位置。或者点击添加按钮,添加新的位置。
![添加或移除位置][23]
#### 从搜索中启用或禁用搜索提供器
如果你并未使用某些搜索提供器,你可以通过禁用未使用的搜索提供器在搜索界面释放一些空间。具体操作是,使用每个项目右侧的切换按钮关闭指定提供器。
![启用 - 禁用开关][24]
如果需要,你可以随时重新开启它们,只需切换相同的按钮至开启状态。
#### 整体禁用搜索
你可以通过关闭 **应用搜索** 按钮来彻底禁用 GNOME Shell 中的应用内搜索。
![在概览中禁用搜索][25]
在这种情况下,只有应用程序可以进行搜索,搜索结果会被隐藏。
![应用内搜索被禁用状态][26]
### 额外技巧:扩展插件增强搜索效能
有一些 GNOME 扩展件可以使你的搜索更便捷、有效。
#### 快速网络搜索
这是一个名为 “Quick Web Search” 的扩展,它会为 DuckDuckGo 提供一个搜索选项。每当我们在 GNOME shell 搜索中输入一些词汇时DuckDuckGo 的图标就会出现。单击它,将在你的首选浏览器中打开搜索结果。
![Shell 中的 DuckDuckGo 搜索][27]
即使所有的浏览器实例都已关闭,这个功能也可以正常工作。此外,你可以通过扩展设置将搜索提供器更改为谷歌或其他选项。
> **[获取 Quick Web Search 扩展][28]**
#### GNOME 模糊应用搜寻
此扩展为 GNOME 搜索提供了模糊应用搜寻结果。因此,即便你输错或拼错了某些名字,它都会尽力为你找到匹配的结果。
![使用模糊搜索的 GNOME 搜索][29]
> **[获取 GNOME 模糊应用搜索][30]**
### 充分利用 GNOME
如你所见,你可能从未充分地利用过所有的 GNOME 搜索特性,或者可能未曾对其给予足够的关注。
🗨 期望你能喜欢这些技巧。欢迎在评论区留下你的建议。
*题图MJ/81a823e0-ed00-4988-a0a8-47c88e4ed188*
--------------------------------------------------------------------------------
via: https://itsfoss.com/gnome-search/
作者:[Sreenath][a]
选题:[lujun9972][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/sreenath/
[b]: https://github.com/lujun9972
[1]: https://itsfoss.com/nautilus-file-search/
[2]: https://itsfoss.com/content/images/2023/08/click-on-activities.png
[3]: https://itsfoss.com/content/images/2023/08/GNOME-Search-interface.png
[4]: https://itsfoss.com/content/images/2023/08/installed-apps-in-search.png
[5]: https://itsfoss.com/content/images/2023/08/file-search.png
[6]: https://itsfoss.com/content/images/2023/08/file-manager-icon-highlighted.png
[7]: https://itsfoss.com/content/images/2023/08/nautilus-file-manager-in-search-mode.png
[8]: https://itsfoss.com/content/images/2023/08/characters-in-search-overview.png
[9]: https://itsfoss.com/content/images/2023/08/character-copied-to-clipboard-message.png
[10]: https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png
[11]: https://itsfoss.com/content/images/2023/08/get-math-result.png
[12]: https://itsfoss.com/content/images/2023/08/get-time.png
[13]: https://itsfoss.com/content/images/2023/08/get-terminal.png
[14]: https://itsfoss.com/content/images/2023/08/firefox-as-a-search-provider-in-settings.png
[15]: https://itsfoss.com/content/images/2023/08/firefox-search.png
[16]: https://itsfoss.com/content/images/2023/08/GNOME-Web-in-search-settings.png
[17]: https://itsfoss.com/content/images/2023/08/gnome-web-results-in-search.png
[18]: https://itsfoss.com/content/images/2023/08/search-tab-in-settings.png
[19]: https://itsfoss.com/content/images/2023/08/button-to-arrage-items.png
[20]: https://itsfoss.com/content/images/2023/08/arrage-order-in-searches.gif
[21]: https://itsfoss.com/content/images/2023/08/move-up-and-down.gif
[22]: https://itsfoss.com/content/images/2023/08/search-locations.png
[23]: https://itsfoss.com/content/images/2023/08/Add-remove-locations.png
[24]: https://itsfoss.com/content/images/2023/08/enable-disable-toggle-button.png
[25]: https://itsfoss.com/content/images/2023/08/Disable-search-rsults.png
[26]: https://itsfoss.com/content/images/2023/08/no-in-app-searches.png
[27]: https://itsfoss.com/content/images/2023/08/ddg-web-search-plugin.png
[28]: https://extensions.gnome.org/extension/6051/quick-web-search/?ref=itsfoss.com
[29]: https://itsfoss.com/content/images/2023/08/no-result-in-misspell.png
[30]: https://extensions.gnome.org/extension/3956/gnome-fuzzy-app-search/?ref=itsfoss.com
[0]: https://img.linux.net.cn/data/attachment/album/202310/10/224338y0d7dgqlez0e0nmz.jpg

View File

@@ -34,7 +34,7 @@ Linux Mint 是 [初学者的最佳 Linux 发行版选择][1] 之一。它基于
* 一个可以使用的互联网连接,以便下载 Linux Mint ISO
* 一个帮助你制作立付 USB 的写盘工具。
> 💡 你可以在一个系统上创建 Live USB然后在其他电脑上使用。
> 💡 你可以在一个系统上创建立付 USB然后在其他电脑上使用。
### 第一步:下载 Linux Mint ISO
@@ -56,7 +56,7 @@ Linux Mint 有三种 [桌面环境][4] 版本:**Cinnamon** 旗舰版本、**MA
> 📋 有些人喜欢对下载的 ISO 文件 [进行完整性校验][8]。这是一种确保 ISO 文件在下载过程中不会损坏的方法(可能会因为网络不稳定等因素而损坏)。
### 第二步:安装 Etcher 以制作 Live USB
### 第二步:安装 Etcher 以制作立付 USB
对于 Windows 用户来说Rufus 是一款出色的工具。可惜 Linux 用户无法使用。

View File

@@ -0,0 +1,82 @@
[#]: subject: "Share your game achievements with Gamerzilla"
[#]: via: "https://fedoramagazine.org/share-your-game-achievements-with-gamerzilla/"
[#]: author: "Dennis Payne https://fedoramagazine.org/author/dulsi/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "geekpi"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16264-1.html"
使用 Gamerzilla 分享你的游戏成就
======
![][0]
Gamerzilla 是一个开源游戏成就系统,用于存储和共享你的游戏成就。游戏使用 libgamerzilla 轻松添加成就。Gamerzilla 库是用 C 编写的,但也有其他语言的绑定。
两年前,我描述了如何设置 [Gamerzilla 服务器][4]。除了 .net 实现之外,还可以使用 php 和 python 实现。但你可能不想运行自己的服务器。这里介绍一个公共服务器和 Gnome 界面。
### 公共服务器
我的网络服务器现在托管了一个启用了公共注册的 [Gamerzilla][5] 实例。要创建帐户,请单击右上角的 “<ruby>签到<rt>Sign In</rt></ruby>” 链接。然后单击 “<ruby>登录<rt>Login</rt></ruby>” 按钮旁边的 “<ruby>注册<rt>Register</rt></ruby>” 链接。
用户帐户收集的信息非常少。只需输入用户名和密码。你不需要输入你的真实姓名或电子邮件地址。因此,忘记密码没有实现。
账户一开始是不可见的。如果你希望公众在登录后看到你的成就,请单击页面右上角你的用户名,然后选择 “<ruby>设为可见<rt>Make Visible</rt></ruby>”。新用户必须经过批准才能上传成就。目前没有显示你是否获得批准的指示。
### 获得成就
在获得第一个成就之前,你需要使用以下命令安装 Gamerzilla GNOME Shell 扩展:
````
sudo dnf install gnome-shell-extension
````
安装后,你需要注销并重新登录。需要使用以下命令启用扩展:
````
gnome-extensions enable gamerzilla@gamerzilla.identicalsoftware.com
````
游戏控制器图标出现在 GNOME Shell 的顶部栏中。
单击控制器图标并选择 “<ruby>首选项<rt>preferences</rt></ruby>”。在出现的屏幕上输入你的 Gamerzilla 网址,包括尾部斜杠,但不包含 UI 的“奖杯”地址。如果使用我的服务器,该值将为 `https://identicalsoftware.com/`。填写你的用户名和密码。单击保存。默认情况下启用自动连接。如果你不想始终连接,请禁用此功能。
![Gamerzilla Controller menu][6]
不幸的是,一个错误阻止了该 Shell 扩展立即工作。你需要注销并重新登录。解决这个问题是当务之急。
### 目前支持的游戏
Fedora 仓库中的多个游戏支持 Gamerzilla 成就。如果你想买一个来尝试一下,我建议试试 Shippy 1984、Seahorse Adventures 或 Anagramarama。一旦你完成一个级别Seahorse Adventures 就会存储一些进度。如果你玩 Super Tux Kart你可能已经取得了成就。只需启动游戏即可同步之前完成的任何成就。当成就完成时Gamerzilla 不会显示任何通知,但游戏可能会自行实现。
### 更进一步
除了修复第一次连接的错误之外,我还想要一个本地浏览器来查看成就。这样你就可以查看所有游戏成就,而无需强制上传它们。
成就确实有消极的一面。有些人觉得有必要完成它们。如果成就非常困难,这可能会导致负面的游戏体验。我理解这种担忧,但有些人也喜欢这些方面。更重要的是,为了吸引和留住玩家,我觉得开源游戏需要一个游戏成就系统。
我们需要更多游戏来实现 Gamerzilla 成就。我们需要玩家表现出对这个系统的支持。我继续为我的游戏和我尝试的其他开源游戏添加成就。
*题图MJ/32ae3f54-b319-4db7-b874-eeacd1dcc4d2*
--------------------------------------------------------------------------------
via: https://fedoramagazine.org/share-your-game-achievements-with-gamerzilla/
作者:[Dennis Payne][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://fedoramagazine.org/author/dulsi/
[b]: https://github.com/lujun9972
[1]: https://fedoramagazine.org/wp-content/uploads/2023/09/gamerzilla_achievenments-816x345.jpg
[2]: https://unsplash.com/@mparzuchowski?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText
[3]: https://unsplash.com/photos/geNNFqfvw48?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText
[4]: https://linux.cn/article-15389-1.html
[5]: https://identicalsoftware.com/trophy/
[6]: https://fedoramagazine.org/wp-content/uploads/2023/09/gamerzilla_preferences.png
[0]: https://img.linux.net.cn/data/attachment/album/202310/08/191724uj7mmjw9ccd7pcl9.jpg

View File

@@ -0,0 +1,85 @@
[#]: subject: "Wolfi: The Linux Un(distro) Improving Cloud Software Supply Chain Turns One!"
[#]: via: "https://news.itsfoss.com/wolfi-turns-one/"
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16261-1.html"
Wolfi改进云软件供应链的 Linux “非”发行版
=====
![][0]
> Wolfi这个有趣的项目致力于增强软件供应链的安全性现已走过一载岁月
这里说的不是 [世界上最小的章鱼][1],而是一款从这个小章鱼那里汲取灵感的 Linux 发行版。
Wolfi 是一个**由社区驱动、以容器为核心的 Linux 发行版**,目的在于保护软件供应链的安全性。创造者([Chainguard][2])将其誉为 “**非发行版**”。
Wolfi 的目标是解决构建和分发软件时经常遇到的容器问题。
下面我们一起来回顾下 Wolfi 的历程,以及未来的展望。
### Wolfi项目的成就 🐙
自从 Wolfi [去年][5] 开始启动,它已经取得了长足的进步,例如 **在 Wolfi 的仓库中具有超过 1300 个包配置** ,并且在 Wolfi 的索引中拥有 **超过 18000 的软件包**
**有 60 名贡献者**参与了这个项目 ,在过去的一年中, **超过 4400 个拉取请求已经成功地合并了** 到 Wolfi 在 [GitHub][6] 上的仓库中。
此外,他们还保证了 80% 的时间内, 在 GitHub 项目中的 **软件包更新间隔少于 24 小时** ,并且还添加了如 [Docker Scout][7] 、[Snyk][8] 、[Wiz][9] 等漏洞扫描工具。
由于 Wolfi 采用了 [滚动发布][10] 模式,因此它还致力于为新发现的 [CVE][11] 快速提供修复。
综上,这些成就使得他们在以下方面实现了技术创新:
* 为所有 Wolfi 软件包构建了 64 位 ARM 版本。
* 对 Go 和 Java 实现了全源引导。
* 引入了 [Rustls][12] TLS 库,用于处理内存安全漏洞。
* 分发了一个名称为 “[wolfi-act][13]” 的新项目,让 Wolfi 包能在 GitHub 操作中动态使用。
你可能会好奇:**未来的计划是什么?**
好吧Wolfi 的开发团队希望它能发展成为一个**由社区驱动的项目**,并有望成为人们最信赖的容器化工作负载发行版。他们还期望 **广大开发者都能充分利用 Wolfi 的全部潜力,解决各种问题**
此外,他们还分享了一个 Wolfi 的使用案例:
> 在当前应用中Wolfi 的一个清晰的示例是 [Chainguard Images][14] —— 这正是我们开始构建该项目的原因。Chainguard Images 只是 Wolfi 实现的许多解决方案之一,我们鼓励更多的用户和社区去探寻 Wolfi 所能搭建出的可能性。
根据他们的新闻发布,他们还提到,在不久的将来 **将为 Rust 和其他语言生态系统加入全源引导**
💬 你是否有过用 Wolfi 的经验?你对它的体验是如何的?
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/wolfi-turns-one/
作者:[Sourav Rudra][a]
选题:[lujun9972][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/sourav/
[b]: https://github.com/lujun9972
[1]: https://en.wikipedia.org/wiki/Octopus_wolfi
[2]: https://www.chainguard.dev/
[3]: https://news.itsfoss.com/content/images/size/w256h256/2022/08/android-chrome-192x192.png
[4]: https://news.itsfoss.com/content/images/2023/09/Wolfi.png
[5]: https://news.itsfoss.com/wolfi-linux-undistro/
[6]: https://github.com/wolfi-dev
[7]: https://docs.docker.com/scout/
[8]: https://snyk.io/
[9]: https://www.wiz.io/
[10]: https://itsfoss.com/rolling-release/
[11]: https://en.wikipedia.org/wiki/Common_Vulnerabilities_and_Exposures
[12]: https://github.com/rustls/rustls
[13]: https://github.com/wolfi-dev/wolfi-act
[14]: https://www.chainguard.dev/chainguard-images
[15]: https://news.itsfoss.com/assets/images/Certs-and-Bundles-1536x864.webp
[16]: https://itsfoss.click/latest-lf-offer
[0]: https://img.linux.net.cn/data/attachment/album/202310/07/192722wdzz199535h4c983.jpg

View File

@@ -0,0 +1,126 @@
[#]: subject: "Mission Center: A Sleek System Monitoring App for Linux"
[#]: via: "https://news.itsfoss.com/mission-center/"
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16257-1.html"
任务中心:一款流畅的 Linux 系统监控应用
======
![][0]
> 这是一款为 Linux 打造的用户友好的系统监控应用。让我们一起来了解!
假如有一天,你发现你的系统开始运行缓慢,你的发行版的默认的系统监控应用又无法给与帮助,你会如何处理?
我能理解当你在试图找出是什么进程引起你的系统运行缓慢,而系统监控器却无法提供帮助是何等烦恼的事。
在此,我初步介绍的这个工具,或许就是你需要的。这就是 “<ruby>任务中心<rt>Mission Center</rt></ruby>”,一个为 Linux 打造的系统监控器,旨在提供实用的功能。
下文将一一展示这个应用可以做什么,以及它的一些限制。
> 🚧 这个应用还是非常新的,处于积极的开发中。所以,预计会有一些变动。
### ⭐ 任务中心:概述
![][1]
主要使用 **内存安全的 Rust 编程语言** 编写的 [任务中心][2] 是一款可以让你监控 CPU、内存、磁盘、网络以及 GPU 的系统监控器。
它的几个关键特性包括:
* 实时监控每个线程的 CPU 使用情况。
* 有能力监控 RAM 和 Swap 的使用状况。
* 提供应用和进程的详细使用信息。
* 监控网络的利用率和传输速度。
### 👨‍💻 初步印象
我在一个运行着 **[Ubuntu 22.04][4] LTS** 的系统上进行了测试,由于这款应用 **提供了 Flatpak 安装方式**,使得整个安装过程相当简洁。
我不得不说,任务中心 **看起来和** [Windows 11][5] **上的任务管理器大体相似**,这并不算是坏事。这种界面布局十分适合以用户友好的方式展示所有重要的信息。
我首先查看的是系统监控的 “<ruby>性能<rt>Performance</rt></ruby>” 部分中的 CPU 标签。它向我提供了我处理器的所有关键信息,并配有一个能**展示实时 CPU 使用率的图表**。
我还能切换到 “<ruby>逻辑处理器<rt>logical processors</rt></ruby>” 视图,以便**观察每个线程的 CPU 使用情况**。只需在图表上进行右键点击并进入 “<ruby>改变视图<rt>Change Graph To</rt></ruby>” 菜单即可切换。
![][6]
我接下来查看的是 “<ruby>内存<rt>Memory</rt></ruby>” 标签,它提供了**一个内存使用的实时图表**,以及两个正在使用的 RAM 模块的实用信息。
![][7]
然后我查看了 “<ruby>硬盘<rt>Disk</rt></ruby>” 标签。即便我在我的系统中有多个存储硬盘,但我只在 Ubuntu 上使用了 “Disk 4”。我对其进行了使用率检查显示出来的似乎是实时的磁盘使用数据。
不过,[据开发者所述][8],当前**硬盘使用率的百分比仍在开发中**,因此,现在的数据可能尚不准确。
![][9]
最后,我查看了 “<ruby>以太网<rt>Ethernet</rt></ruby>” 标签。它向你展示了有关系统的网络活动的实时图表,包括了下载和上传活动的两个信息点。
然而,它对于应用的网络数据使用情况,目前还是**没有应用级的网络数据信息**。这个功能,开发者正 [在着手开发][10]。
![][12]
接下来,我查看了 “<ruby>应用<rt>Apps</rt></ruby>” 部分。这里包含了系统中运行的大部分(甚至全部)应用和进程。它不有展示了应用/进程的全部有用信息,包括 PID、CPU 使用、内存和磁盘使用情况。
你还能在任何一个应用/进程上进行右键点击,来选择 **停止应用/进程****强制停止应用/进程**
![][13]
我还调整了任务中心应用的一些设置,比如:
* 调整所有实时图表的更新频率
* 设定合并进程统计数据
* 记住我在 “<ruby>应用<rt>Apps</rt></ruby>” 部分所使用的排序顺序。
![][14]
我注意到一个缺失的数据,关于我的 GPU。任务中心**未能检测到我的英伟达 GPU**。
这是可以理解的,因为 **GPU 的支持目前仍然处于实验阶段**,仅支持 AMD 和英伟达的 GPU。
### 📥 获取任务中心
任务中心可以在 [Flathub 商店][15] 或者 [GitLab][16] 上获得,如果你更倾向于从源码来构建的话。
> **[任务中心Flathub][15]**
💬 你会考虑用任务中心来替代你 Linux 系统上的默认系统监控器吗?
*题图MJ/feb84cdf-0719-401a-9c4a-1db7960d4572*
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/mission-center/
作者:[Sourav Rudra][a]
选题:[lujun9972][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/sourav/
[b]: https://github.com/lujun9972
[1]: https://news.itsfoss.com/content/images/2023/09/Mission_Center_1.png
[2]: https://missioncenter.io/
[3]: https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png
[4]: https://news.itsfoss.com/ubuntu-22-04-release/
[5]: https://www.microsoft.com/en-us/windows?wa=wsignin1.0
[6]: https://news.itsfoss.com/content/images/2023/09/Mission_Center_2.png
[7]: https://news.itsfoss.com/content/images/2023/09/Mission_Center_3.png
[8]: https://gitlab.com/mission-center-devs/mission-center/-/issues/2
[9]: https://news.itsfoss.com/content/images/2023/09/Mission_Center_4.png
[10]: https://gitlab.com/mission-center-devs/mission-center/-/issues/3
[11]: https://news.itsfoss.com/content/images/2023/04/Follow-us-on-Google-News.png
[12]: https://news.itsfoss.com/content/images/2023/09/Mission_Center_5-1.png
[13]: https://news.itsfoss.com/content/images/2023/09/Mission_Center_6.png
[14]: https://news.itsfoss.com/content/images/2023/09/Mission_Center_7.png
[15]: https://flathub.org/apps/io.missioncenter.MissionCenter
[16]: https://gitlab.com/mission-center-devs/mission-center
[17]: https://news.itsfoss.com/tag/first-look/
[0]: https://img.linux.net.cn/data/attachment/album/202310/05/180653pnz0nkta1lc1tclz.jpg

View File

@@ -0,0 +1,73 @@
[#]: subject: "Linux Mint 21.2 Edge ISO Empowers Newer Hardware with Kernel 6.2!"
[#]: via: "https://news.itsfoss.com/linux-mint-21-2-edge/"
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "geekpi"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16275-1.html"
Linux Mint 21.2 Edge为更新的硬件提供支持
======
![][0]
> Linux Mint 21.2 Edge ISO 来了!
Linux Mint 背后的人们一直在努力推出主要版本,例如 [Linux Mint 21.2][1] 和 [LMDE 6][2]。
一系列的发布似乎并没有停止,因为我们现在以 “**Linux Mint 21.2 Edge**” 的形式得到了另一个版本。
请允许我告诉你更多相关信息。
### Linux Mint 21.2 Edge可以期待什么
![][3]
Linux Mint 21.2 Edge 采用 [Linux 内核 6.2][4]**为那些希望运行较新硬件**而不喜欢 [Linux 内核 5.15][5] LTS常规 Linux Mint 21.2 版本的特性)的用户量身定制。
现在对于 Intel Arc 显卡用户来说绝对是一个不错的 Linux 发行版选择!
如果你对 “_Edge_” ISO 感到好奇,请参阅 [文档][6]
> 除了常规 ISO 镜像之外Linux Mint 有时还会为其最新版本提供 “Edge” ISO 镜像。该镜像附带更新的组件,能够支持最现代的硬件芯片组和设备。
此外,此 ISO 还**恢复了对安全启动的支持**。对于那些想要它的人来说,这应该是一个有用的附加组件。
不要忘记Linux Mint 21.2 Edge **仅提供 “Cinnamon” 风格桌面**,没有任何 XFCE 或 MATE 风格。
不过,除了更新的硬件支持之外,与常规版本相比,使用 Edge 版本时你不会发现任何差异。
**想要试一试?**
前往 [官方网站][7] 从众多可用的下载镜像之一获取 ISO。
> **[Linux Mint 21.2 Edge][7]**
请注意,此版本**仅提供 64 位版本**,没有 32 位选项。
💬 你会尝试 Edge ISO 吗? 请在下面告诉我们!
*题图MJ/f49e0353-86d5-4ebb-a503-58716d8b54fb*
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/linux-mint-21-2-edge/
作者:[Sourav Rudra][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/sourav/
[b]: https://github.com/lujun9972
[1]: https://news.itsfoss.com/linux-mint-21-2/
[2]: https://news.itsfoss.com/lmde-6/
[3]: https://news.itsfoss.com/content/images/2023/10/LinuxMint_21.2_Edge.png
[4]: https://news.itsfoss.com/linux-kernel-6-2-release/
[5]: https://news.itsfoss.com/linux-kernel-5-15-release/
[6]: https://linuxmint-user-guide.readthedocs.io/en/latest/edge.html
[7]: https://www.linuxmint.com/edition.php?id=310
[0]: https://img.linux.net.cn/data/attachment/album/202310/11/224116oso9krhjqqoq5qji.jpg

View File

@@ -0,0 +1,117 @@
[#]: subject: "Fixing 'Bash: man command not found' error in Arch Linux"
[#]: via: "https://itsfoss.com/man-command-not-found/"
[#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "geekpi"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16270-1.html"
修复 Arch Linux 中的 “Bash: man command not found” 错误
======
![][0]
> 我遇到 “找不到 man 命令” 错误的小插曲,以及我是如何解决的。
多年后,我再次尝试 Arch Linux。我忘记了 [pacman 命令的用法][1],所以我尝试访问它的手册页。
接下来发生的事情让我震惊(是的!我一直在阅读 BuzzFeed 😜)。它向我展示了这个错误:
> bash: man: command not found
当然,这不仅是 pacman所有命令都是这样。
![][2]
这让我感到困惑,因为我以前从未遇到过无法使用 `man` 命令的情况。
如果你发现自己处于找不到 `man` 命令的类似情况,我向你保证,修复很简单:
* 安装 `man-db` 包(安装手册页)
* 更新 `mandb` 缓存(用于索引所有命令的手册页)
让我们更详细地看看。
### 在 Linux 中安装手册页
我从未想过我必须明确安装手册页。但是 [Arch Linux][3] 将你带入未知领域。这在某种程度上是件好事,因为你会发现以前从未遇到过的事情。
**这里的关键是安装手册页的包名为 `man-db`**。这对我来说也是一个发现。
你可以使用发行版的包管理器来安装它。
[对于 Arch 和 Manjaro][4],使用:
```
sudo pacman -S man-db
```
![][5]
对于 Ubuntu 和 Debian请使用
```
sudo apt install man-db
```
对于 Fedora请使用
```
sudo dnf install man-db
```
对于 Red Hat Linux请使用
```
sudo yum install man-db
```
**你明白了要点**。为手册页构建缓存也是明智的一步。
### 构建手册页缓存
要刷新或构建手册页缓存,请运行 [mandb 命令][6]
```
sudo mandb
```
它将在不同位置查找手册页并构建缓存,以便你可以快速访问手册页。
![][7]
完成后,我就可以像往常一样使用 `man` 命令。
### 结论
这确实让我感到震惊,因为我一直认为手册页是 Linux 的核心部分。从未想过我必须安装它们。
我应该将其添加到 [安装 Arch Linux 后要做的事情列表][8] 吗?我还没有把握。
也许我是在 Arch 中遇到这个缺少 `man` 命令问题的极少数用户之一。也许不是。如果你遇到过这样的“意外错误”,请在评论中告诉我。
*题图MJ/a582366a-ee9d-4583-9025-eed6a4e96108*
--------------------------------------------------------------------------------
via: https://itsfoss.com/man-command-not-found/
作者:[Abhishek Prakash][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/abhishek/
[b]: https://github.com/lujun9972
[1]: https://itsfoss.com/pacman-command/
[2]: https://itsfoss.com/content/images/2023/10/bash-man-command-not-found-error.png
[3]: https://archlinux.org/
[4]: https://itsfoss.com/manjaro-vs-arch-linux/
[5]: https://itsfoss.com/content/images/2023/10/installing-man-command-arch-linux.png
[6]: https://www.man7.org/linux/man-pages/man8/mandb.8.html
[7]: https://itsfoss.com/content/images/2023/10/updating-man-command-database-linux.png
[8]: https://itsfoss.com/things-to-do-after-installing-arch-linux/
[0]: https://img.linux.net.cn/data/attachment/album/202310/09/231716f6ehhv6u9sueuts4.jpg

View File

@@ -0,0 +1,184 @@
[#]: subject: "Install and Use Yay on Arch Linux"
[#]: via: "https://itsfoss.com/install-yay-arch-linux/"
[#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "geekpi"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16284-1.html"
在 Arch Linux 上安装和使用 Yay
======
![][0]
> Yay 是最流行的 AUR 助手之一,用于处理 Arch 用户资源库中的软件包。学习在 Arch Linux 中安装它。
你可以在 <ruby>[Arch 用户仓库][1]<rt>Arch User Repository</rt></ruby>AUR中找到社区成员打包的大量软件。
由于它来自第三方,纯粹主义者建议从 AUR 手动下载并构建每个所需的包。
但这是一项乏味的任务,这就是为什么会有 AUR 助手来避免麻烦。
Yay 是最受欢迎的 AUR 帮助程序之一,在本教程中,我将分享如何在 Arch Linux 上安装 Yay。我还将分享一些有关使用 Yay 管理 AUR 包的技巧。
> 💡 Yay 可在 Manjaro 的仓库中找到。因此Manjaro 用户只需使用 `pacman -S yay` 即可安装
### 在 Arch Linux 上安装 Yay
在继续安装 Yay 之前,你需要一些构建它所需的软件包。
让我把它分成几个步骤。
#### 步骤 1安装必备包
首先刷新包缓存并更新系统是一个好主意:
```
sudo pacman -Syu
```
安装所需的 `base-devel`(包含 `makepkg` 等工具)和 `git`(克隆 yay 的 Git 仓库所需的)。
```
sudo pacman -S --needed base-devel git
```
使用 `--needed` 标志,它不会重新安装已经安装的软件包。
它看起来是这样的:
![][2]
现在你已经有了所需的软件包,是时候在你的系统上安装 [Yay][3]。
#### 步骤 2克隆 Yay Git 仓库并切换到它
[使用 git 命令][4] “克隆” Yay 仓库。你可以在系统中的任何位置执行此操作,无论是主目录还是其他目录。
```
git clone https://aur.archlinux.org/yay.git
```
完成后,切换到克隆的目录:
```
cd yay
```
![][5]
终于可以安装 Yay 了。
#### 步骤 3安装 Yay
事实上,你是在构建它。你将在此处看到 `PKGBUILD` 文件。使用以下命令从此处构建包:
```
makepkg -si
```
按照屏幕上的说明进行操作。当系统要求你确认时,按 `Y`
![][6]
该过程完成后,通过检查其版本来验证 Yay 是否已成功安装。
```
yay --version
```
现在你已经成功安装了它,你可以删除克隆的 Yay Git 仓库。不再需要它了。
### 使用 Yay 进行包管理
Yay 遵循与 [pacman][7] 类似(但不相同)的命令结构。所以你用 Yay 管理 AUR 包应该不难。
搜索软件包:
```
yay search_term
```
安装软件包:
```
yay -S package_name
```
删除软件包:
```
yay -R package_name
```
要删除包及其依赖项:
```
yay -Rns package_name
```
仅升级 AUR 包:
```
yay -Sua
```
Yay 还能够升级非 AUR 软件包。上面的 `a` 标志将其限制为 AUR。
### 将 Yay 升级到新版本
现在,你可能想知道如何将 Yay 升级到可用的新版本。
答案是你不需要做任何特别的事情。当你运行以下命令时Yay 可以自行更新:
```
yay -Sua
```
### 从 Arch 系统中删除 Yay
如果你不喜欢 Yay 或不再需要它,你可以使用 `pacman` 命令像删除任何其他软件包一样删除它:
```
sudo pacman -Rs yay
```
### 总结
这是对 Yay AUR 助手的快速介绍。你可以访问其 GitHub 仓库以了解有关其工作的更多详细信息。
Arch 用户仓库AUR是[为什么有些人喜欢使用 Arch Linux][9] 的原因之一。
虽然纯粹的 Arch 用户一般都会嘲笑 AUR特别是 [AUR 助手][10],但它们仍然因其提供的易用性而受到欢迎。
我希望你发现这个快速教程有助于在 [Arch Linux][11] 上获得 Yay。如果你仍有疑问或发现任何技术错误请告诉我。
*题图MJ/f01331ab-ee70-45c4-8fd1-163e63497a6a*
--------------------------------------------------------------------------------
via: https://itsfoss.com/install-yay-arch-linux/
作者:[Abhishek Prakash][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/abhishek/
[b]: https://github.com/lujun9972
[1]: https://itsfoss.com/aur-arch-linux/
[2]: https://itsfoss.com/content/images/2023/10/install-prerequisite-yay.png
[3]: https://github.com/Jguer/yay
[4]: https://itsfoss.com/basic-git-commands-cheat-sheet/
[5]: https://itsfoss.com/content/images/2023/10/git-clone-yay.png
[6]: https://itsfoss.com/content/images/2023/10/building-yay-package.png
[7]: https://itsfoss.com/pacman-command/
[8]: https://github.githubassets.com/pinned-octocat.svg
[9]: https://itsfoss.com/why-arch-linux/
[10]: https://itsfoss.com/best-aur-helpers/
[11]: https://archlinux.org/
[0]: https://img.linux.net.cn/data/attachment/album/202310/14/224808sb66bbdrd4zrqk6q.jpg

View File

@@ -0,0 +1,132 @@
[#]: subject: "Linux Gaming's Next Big Secret Weapon: Bottles Next-Gen Upgrade 🔥"
[#]: via: "https://news.itsfoss.com/bottles-next-linux-gaming/"
[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16258-1.html"
Linux 游戏的下一个秘密武器Bottles Next
======
![][0]
> Bottles 的发展计划充满激动人心,目标是成为在 Linux 上运行 Windows 应用和游戏的更优秀工具。
如今Wine 和 Steam 的 Proton 让 Linux 用户获得了升级的游戏体验。
而 Lutris、Heroic Games Launcher 等应用利用这些技术,让你能够轻松管理、安装和启动游戏。
**Bottles** 是一款此类的实用工具,它帮助你在 Linux 上 [运行 Windows 应用和游戏][1]。这是在 Linux 上使用 [Epic 游戏商店][2] 的最佳方法之一。
我深信它在不久的将来会成为一个更令人激动的工具_为什么_ 🤔
嗯,我发现了一些关于 Bottles 下一代升级计划的有趣更新 🤯
### Bottles Next完全变革
当前版本的 [Bottles][3] 是一款简洁且可以定制的应用,帮助你仅需点击几次便可管理和运行 Windows 应用和游戏。
![Bottles 当前版本的截图][4]
根据其未来升级计划_尽管目前还没有具体的时间表_开发者们准备提升用户体验以及提供一个**更强大的后端**。与之配合的是,他们还计划**重新设计用户界面**,以满足初级和资深用户的需求。
现在,我来告诉你更多它的计划信息...
#### 用户界面的重新设计
这是其创建者 [Mirko Brombin][5] 分享的 Bottles Next 的一些效果图:
![Bottles Next 展示两种模式的设计][6]
如你所见,他们的目标是推出两种使用模式,即 “<ruby>Next 模式<rt>Next Mode</rt></ruby>” 针对初级用户,以及 “<ruby>经典模式<rt>Classic Mode</rt></ruby>” 针对资深用户。
> 🚧 这些效果图可能不代表 Bottles Next 的最终设计。
Bottles Next 的更新旨在提供更简洁的用户体验,同时依然保持了工具的可定制性。
![][7]
游戏信息界面看起来很吸引人,显示了重要信息,并提供了进入高级设置的选项。
![][8]
我个人觉得这个设计不错_你觉得呢_
#### 核心的变化
计划中的技术变动很大,但当然,你可能无法从用户界面上看出其变化。
后端重写的一些目标包括:
* 让后端独立于图形用户界面
* 重新定义应用如何与其创建的 “<ruby>前置瓶<rt>bottle</rt></ruby>” 联系,重点是单一应用。
* 引入新功能(如取消创建 “前置瓶” 的能力)
LCTT 译注Wine 使用一个被称之为 “Wineprefix” 的配置目录来控制使用 Wine 运行的 Windows 程序,这个目录也被比喻作 “bottle”而 “Bottles” 是一个基于此机制的软件。在此,我将 “Wineprefix” 和 “bottle” 尝试翻译为 “Wine 前置配置” 和 “前置瓶”。)
为了使后端独立于图形用户界面,他们计划使用客户端和本地服务器的概念。因此,其他应用也可以使用 Bottles 服务器来处理已创建的 <ruby>Wine 前置配置<rt>Wineprefix</rt></ruby>。
> 💡 <ruby>Wine 前置配置<rt>Wineprefix</rt></ruby> 是 Wine 用于存储配置文件及已安装的 Windows 程序的目录(更多关于 Wine 的信息参见 [Arch Linux Wiki][10])。
换句话说,他们目标是改变所有的工作方式,同时保证他们的后端对其他应用管理 Wine 是有利的。
关于技术变化Mirko 提到:
> 这种全新的架构允许在任何需要管理 Wine 前置配置的应用中使用 Bottles。你可以用任何工具包例如 qt、GTK 等写客户端。我们正朝着 Electron 的道路前进,同时也在开发一个 GTK 客户端。
计划中Bottles Next 工作方式的一个**有趣的地方**
> Bottles Next 将会是第一款能够从内部管理 Wine 前置配置的管理器。我们正在编写一个名为 [WineBridge][11] 的项目,它运行在 Wine 前置配置内部,然后通过协议与 Bottles 通信。这样我们便可以避免使用 Shell 命令来启动程序或调整 <ruby>Wine 前置配置<rt>Wineprefix</rt></ruby>,大大降低了痛苦。
此外,他提到将基于 Go 编程语言进行重写。
简而言之,即将在底层和前端出现大量重大的变化。这些整合后,必然能够在 Bottles 上提升用户体验。
随着他们透露的关于 Bottles Next 更多的计划和进展信息,我们可能会获得更多值得关注的消息。
### 🙌 如果可以,帮助他们!
我敢肯定,至此为止,作为一个 Linux 游戏狂热爱好者,你一定迫不及待想要看到下一代的更新!
然而,已经分享的**开发计划**会需要一段时间去实践,最后才能推出。
**但不用担心,你可以伸出援手!**
你可以在 [GitHub][12] 上为项目做出贡献,提出你的想法/反馈到 [论坛][13] 加入他们的 [Discord][14] 服务器找出更多参与 **Bottles Next** 项目的方式。
> **[Bottles][3]**
💬 你对 Bottles Next 有什么看法?在下方的评论中分享你的观点。
*题图MJ/e6b335c1-70d9-4404-b62f-e9b27fd128bb*
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/bottles-next-linux-gaming/
作者:[Ankush Das][a]
选题:[lujun9972][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/ankush/
[b]: https://github.com/lujun9972
[1]: https://itsfoss.com/use-windows-applications-linux/
[2]: https://itsfoss.com/epic-games-linux/
[3]: https://usebottles.com/
[4]: https://news.itsfoss.com/content/images/2023/10/bottle-dark-screenshot.png
[5]: https://news.itsfoss.com/interview-mirko-brombin/
[6]: https://news.itsfoss.com/content/images/2023/10/bottles-next.jpg
[7]: https://news.itsfoss.com/content/images/2023/10/bottles-next-ui.jpg
[8]: https://news.itsfoss.com/content/images/2023/10/bottles-next-game-info.jpg
[9]: https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png
[10]: https://wiki.archlinux.org/title/wine
[11]: https://github.com/bottlesdevs/winebridge
[12]: https://github.com/bottlesdevs
[13]: https://forum.usebottles.com/
[14]: https://discord.gg/wF4JAdYrTR
[0]: https://img.linux.net.cn/data/attachment/album/202310/06/123651ctvakzantvupnezt.jpg

View File

@@ -0,0 +1,124 @@
[#]: subject: "Wait's Over: elementary OS 7.1 Releases With a Focus on Privacy"
[#]: via: "https://news.itsfoss.com/elementary-os-7-1/"
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16260-1.html"
elementary OS 7.1 发布,重点关注隐私
======
![][0]
> elementary OS 的精致更新已到来!
2023 年即将结束,而我们得到了一次全新的 elementary OS 更新。今年早些时候,我们对 [elementary OS 7][1] 版本进行了概览,该版本带来了众多改进。
而今,让我们来探索一下新发布的 **elementary OS 7.1**版本。
### 🆕 elementary OS 7.1: 新增了什么?
![][2]
作为 [最美 Linux 发行版][3] 之一,这次的 elementary OS 发行版**主要集中在隐私和辅助功能上**。
此版本的一些显著亮点包括:
* 隐私优化
* 加强辅助功能
* <ruby>应用中心<rt>AppCenter</rt></ruby> 的改进
* 手势和键盘导航有所提升
### 隐私优化
![][4]
在此发行版中,已引入新系统,用于**管理应用程序的自动启动**,并且当应用程序在后台运行时会向你**发出警告**。
因为这个新的 “<ruby>后台 & 自启动<rt>Background & Autostart</rt></ruby>” 管理面板的引入,现在众多如日历、邮件和任务等核心应用的自启动行为可以得到控制。
该管理面板还负责管理应用程序的权限,其中 “<ruby>定位服务<rt>Location Services</rt></ruby>” 的管理,采用了一个**更安全的方法**来允许应用程序请求位置访问。
符合最新的 [FreeDesktop.org][5] 标准的实现。
### 加强辅助功能
![][6]
收到来自**具有视觉障碍用户的反馈**后elementary OS 团队实施了一些有用的可访问性功能。
一项功能是,安装过程中会自动播放 **音频提示** ,以**让了解用户屏幕阅读器的键盘快捷方式**。这个音频提示在首次安装和设置过程中都会提供。
另一项功能是,为了**帮助 [色觉缺陷][7] 人群**在发行版中导航,实施了**五种不同的显示过滤器**。
这些过滤器是为解决 **红色盲**、**绿色盲** 和 **黄蓝色盲** 这些问题的人们设计的。他们还增添了一些 **高对比度选项** ,并增加了大量的 **辅助文字**
### 应用中心的改进
![][8]
**<ruby>应用中心<rt>AppCenter</rt></ruby> 也有了改进**,现在它会显示所有列出或侧载的 Flatpak 应用运行所需的权限。
现在,它可以显示如位置、发送通知、自启动、读/写系统设置等应用权限。
这让用户在安装应用程序时能更清楚地了解哪些权限是必要的。
### 提升手势和键盘导航
![][9]
同样地,**多点触控手势和键盘导航得到了加强**,这归功于在整个系统中更广泛的实施。
现在,用户可以**使用手势控制工作区**,并**使用新添加的各种键盘快捷键导航**。对键盘行为的设置也有所优化,提供了大量调整选项。
### 🛠️ 其他修改和改进
像每个 elementary OS 发布版本一样,许多微妙的改进效果显著。其他的亮点包括:
* “<ruby>文件<rt>Files</rt></ruby>” 应用的标题栏中新增应用菜单,具有新的缩放控制和能同时重命名多个文件的 “批量重命名” 功能。
* 引入了最新的长期支持,来自 Ubuntu 的 [硬件支持栈][10]。
* “<ruby>反馈<rt>Feedback</rt></ruby>” 应用已被改进,现在包含有搜索栏并已迁移到 GTK 4。
* “<ruby>邮件<rt>Mail</rt></ruby>” 应用完全重做,带来了更稳定的用户体验。
* 已集成 [GNOME Web 44.6][11]。
* 核心应用得到了各种更新。
我建议你阅读官方的 [发布说明][12] ,以更深入地了解此版本。
### 📥 下载 elementary OS 7.1
由于 elementary OS 是一种 “看着给” 发行版,你可以前往 [官方网站][13] 购买或免费下载它。
> **[elementary OS 7.1][13]**
你也可以选择他们网站上列出的一些硬件零售商,他们提供预装发行版的笔记本电脑和台式机。
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/elementary-os-7-1/
作者:[Sourav Rudra][a]
选题:[lujun9972][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/sourav/
[b]: https://github.com/lujun9972
[1]: https://news.itsfoss.com/elementary-os-7-release/
[2]: https://news.itsfoss.com/content/images/2023/10/elementary-OS-7.1_1.jpg
[3]: https://itsfoss.com/beautiful-linux-distributions/
[4]: https://news.itsfoss.com/content/images/2023/10/elementary-OS-7.1_2.png
[5]: https://www.freedesktop.org/wiki/
[6]: https://news.itsfoss.com/content/images/2023/10/elementary-OS-7.1_3.png
[7]: https://en.wikipedia.org/wiki/Color_blindness
[8]: https://news.itsfoss.com/content/images/2023/10/elementary-OS-7.1_4.png
[9]: https://news.itsfoss.com/content/images/2023/10/elementary-OS-7.1_5.png
[10]: https://wiki.ubuntu.com/Kernel/LTSEnablementStack
[11]: https://gitlab.gnome.org/GNOME/epiphany/-/releases/44.6
[12]: https://blog.elementary.io/os-7-1-available-now/
[13]: https://elementary.io/
[0]: https://img.linux.net.cn/data/attachment/album/202310/06/232453yxlnckyvn3bb28n9.jpg

View File

@@ -0,0 +1,126 @@
[#]: subject: "Install Brave on Arch Linux"
[#]: via: "https://itsfoss.com/install-brave-arch-linux/"
[#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "geekpi"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16291-1.html"
在 Arch Linux 上安装 Brave
======
![][0]
> 在这篇初学者教程中,学习在 Arch Linux 中安装 Brave 浏览器。
Firefox 和 Brave 是我日常浏览网页的程序。
当我安装带有 GNOME 的 Arch Linux 时,它有 GNOME Web 浏览器。这是一个不错的浏览器,但我不能接受它,因为我需要保存的密码、浏览历史记录和插件。
因此,我开始安装我最喜欢的网络浏览器,因此本教程是关于在 Arch Linux 中安装 Brave。
如果你安装了 Yay或任何其他 AUR 帮助程序),那么安装 Brave 就像使用以下命令一样简单:
```
yay -S brave-bin
```
是的!就这么简单。让我们详细看看。
> 💡 Manjaro 内置了 AUR 支持。你可以使用 Pamac 软件中心或 `pamac`/`pacman` 命令在 Manjaro 中安装 Brave。
### 在 Arch Linux 上安装 Brave 浏览器
Brave 在官方 Arch 仓库中不可用。但是,它可以在 AURArch 用户仓库)中使用,并且可以使用 Yay 等 AUR 帮助程序轻松安装。
如果你没有 Yay 或任何其他 AUR 帮助程序,请逐一使用这些命令来 [安装 Yay][1]
```
sudo pacman -S --needed base-devel git
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
```
安装 Yay 后,用它来安装 Brave
```
yay -S brave-bin
```
不用担心。它最终会要求你输入密码。
如果这是你第一次安装浏览器,系统可能会要求你选择字体提供方。使用默认选择或选择任何其他选项。
![][2]
接下来它会询问你有关清理构建的问题。Yay 询问你是否应该重新下载软件包(和依赖项)并再次构建它或使用早期构建的缓存(如果有)。
你可以按回车键继续操作,这应该意味着不清理构建。
![][3]
事实上,当你看到默认选项时,你可以继续按回车键。
在实际安装之前,系统会要求你输入帐户密码。输入你的密码并继续该过程。它将下载大小约为 350 MB 的文件:
![][4]
安装后,在系统菜单中查找 [Brave browser][5] 并从那里运行它。
![][6]
### 保持 Brave 更新
你可以使用以下命令更新通过 Yay 安装的 AUR 软件包来保持 Brave 浏览器更新:
```
yay -Sua
```
### 从 Arch 中删除 Brave
不喜欢 Brave 不用担心。你可以轻松将其删除。
与任何其他软件一样,使用 `pacman` 命令从 Arch 中删除 Brave
```
sudo pacman -Rs brave-bin
```
### 总结
AUR 再次拯救你! 安装 Brave 变得非常简单。
顺便说一句,我注意到 Brave 不知何故成为打开图像的默认应用。这意味着,双击图像将在新的 Brave 窗口中打开它们。
我必须通过右键单击图像并选择“打开方式”选项再次将图像查看器设置为默认值。
![Somehow Brave becomes the default image viewer. You should change it][7]
在接下来的几天里,我将分享更多我的 Arch 经验。敬请关注!
*题图MJ/46bf8413-5fe1-41aa-b6f3-a5e660efce2b*
--------------------------------------------------------------------------------
via: https://itsfoss.com/install-brave-arch-linux/
作者:[Abhishek Prakash][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/abhishek/
[b]: https://github.com/lujun9972
[1]: https://itsfoss.com/install-yay-arch-linux/
[2]: https://itsfoss.com/content/images/2023/10/yay-install-brave-font-install.png
[3]: https://itsfoss.com/content/images/2023/10/clean-build-yay.png
[4]: https://itsfoss.com/content/images/2023/10/installing-brave-arch-linux.png
[5]: https://brave.com/
[6]: https://itsfoss.com/content/images/2023/10/run-brave-arch-linux.png
[7]: https://itsfoss.com/content/images/2023/10/open-images-in-viewer-not-brave.png
[0]: https://img.linux.net.cn/data/attachment/album/202310/17/103648le2r0e688pef1v22.jpg

View File

@@ -0,0 +1,135 @@
[#]: subject: "This Open-Source App Helps You Stay Focused"
[#]: via: "https://news.itsfoss.com/pomatez/"
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16268-1.html"
开源应用 Pomatez 使你保持专注
======
![][0]
> Pomatez 应用可以提升你的效率,它为你的时间管理带来了巨大帮助。
你是否对 “番茄工作法” 有所了解呢?
这是一种 **时间管理方法**,于 1980 年代末期开发,通过定时器将工作划分为一定的时间间隔,每间隔 25 分钟后进行短暂的休息,如此循环直至任务完成。
这种方法在近些年变得越来越流行,有很多应用程序以 <ruby>[番茄工作法][1]<rt>Pomodoro Technique</rt></ruby> 作为主要的卖点。
这里我们将介绍一个采用这种方法的应用,它名为 “Pomatez”并且是 **原生支持 Linux 平台的开源应用**。Pomatez 为时间管理提供了所需的全部工具。
其实这并不是我们第一次介绍这种应用,之前有一种应用叫 “Reminders”功能类似但并未采用番茄工作法。
> **[Reminders一个漂亮的开源 Linux 应用,可帮助你完成工作][2]**
现在我来详述一下你可以用 Pomatez 应用做些什么。
### Pomatez: 概述 ⭐
![][4]
Pomatez 使用 TypeScript 编程语言编写,是一款极好的工具,能让你在执行重要任务的同时安排适时的休息,保持专注。
Pomatez 的关键特性包括:
* 内置的任务列表
* 桌面通知
* 可定制的规则
#### 初次使用感受 👨‍💻
我在我的 Ubuntu 22.04 LTS 系统上安装了它,体验了它的功能表现。
首先,我在 “<ruby>任务列表<rt>Task List</rt></ruby>” 部分填充了一些当日必须完成的重要任务和一些不太重要的任务。
一切就绪后,你将不会感到失望的 👇
![][7]
然后,我进入 “<ruby>配置<rt>Config</rt></ruby>” 栏,按照自己的喜好进行了规则调整。
“<ruby>保持专注<rt>Stay focus</rt></ruby>” 为执行任务的时间长度,“<ruby>短暂休息<rt>Short break</rt></ruby>” 为短暂的休息时间,“<ruby>长休息<rt>Long break</rt></ruby>” 为更长的休息时间,以及 “<ruby>会话轮次<rt>Session rounds</rt></ruby>” 为定时器的会话数量。
这里还有一个 “<ruby>特殊休息<rt>Special Breaks</rt></ruby>” 部分,可以用来安排比如午餐、晚餐的特定休息时间。
![][9]
接下来,我进入 “<ruby>计时器<rt>Timer</rt></ruby>” 栏,此处显示了首个待处理任务,一列显示的是会话数以及控制定时器/会话的选项。
这里有一个重置定时器的按钮,一个开始/停止定时器的按钮,一个按规则进入下一阶段的按钮,一个调节音量的按钮,以及一个切换至 “<ruby>精简模式<rt>Compact mode</rt></ruby>”(位于右下角)的按钮。
![][10]
我按下 “开始” 按钮启动了定时器,并开始查看了任务的可执行操作。我可以标记任务为 “<ruby>完成<rt>Done</rt></ruby>”,跳过任务,或者从应用中删除任务。
![][11]
随着任务的推进,我通过按下带一个框和向下箭头图标的按钮,将 Pomatez 切换到了 “<ruby>精简模式<rt>Compact mode</rt></ruby>”。
这样我得到了一个更小巧的,节省空间的界面。当我完成任务后,我停止了计时器并将任务标记为 “<ruby>完成<rt>Done</rt></ruby>”。
![][12]
随后,我转到 “<ruby>设置<rt>Settings</rt></ruby>” 栏,看看我可以调整哪些选项,我发现它给我了不少惊喜。
我可以调整应用行为,如设置为 “<ruby>始终在顶部<rt>Always On Top</rt></ruby>”, 启用“<ruby>深色主题<rt>Dark Theme</rt></ruby>” 和 “<ruby>语音助手<rt>Voice Assiastance</rt></ruby>” 等。
![][13]
Pomatez 还支持键盘快捷键,虽然我期望它能提供通过键盘快捷键控制计时器的功能。
或许他们可以考虑在未来的版本中参考我的反馈意见?我希望他们可以!
![][14]
总体而言,如果你希望改进日常工作流程,这款应用值得尝试。
最好的是,它是一个跨平台的应用,不仅可以在 Linux 所有现代发行版上运行,你在 Windows 和 macOS 系统上也可以试用。
### 📥 下载 Pomatez
Pomatez 提供了 Linux 平台的 .deb、AppImage 和 .rpm 安装包。你还可以找到它的 Snap 包。
你可以从官方网站Snap 商店 或其在 GitHub 上的仓库获取你需要的包。
> **[PomatezGitHub][15]**
你之前用过这样的应用吗?请在下方的评论区告诉我们吧!
*题图MJ/af06ca24-ec64-471f-92e0-76cedf3837ea*
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/pomatez/
作者:[Sourav Rudra][a]
选题:[lujun9972][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/sourav/
[b]: https://github.com/lujun9972
[1]: https://en.wikipedia.org/wiki/Pomodoro_Technique
[2]: https://linux.cn/article-15852-1.html
[3]: https://news.itsfoss.com/content/images/size/w256h256/2022/08/android-chrome-192x192.png
[4]: https://news.itsfoss.com/content/images/2023/09/Pomatez_1.png
[5]: https://www.typescriptlang.org/
[6]: https://news.itsfoss.com/ubuntu-22-04-release/
[7]: https://news.itsfoss.com/content/images/2023/09/Pomatez_2.png
[8]: https://giphy.com/gifs/cute-sloth-slothilda-26xoplW0VhLLByrAY
[9]: https://news.itsfoss.com/content/images/2023/09/Pomatez_3.png
[10]: https://news.itsfoss.com/content/images/2023/09/Pomatez_4.png
[11]: https://news.itsfoss.com/content/images/2023/09/Pomatez_5a.png
[12]: https://news.itsfoss.com/content/images/2023/10/Pomatez_5b.png
[13]: https://news.itsfoss.com/content/images/2023/09/Pomatez_6.png
[14]: https://news.itsfoss.com/content/images/2023/09/Pomatez_7.png
[15]: https://zidoro.github.io/pomatez/
[16]: https://snapcraft.io/pomatez
[17]: https://github.com/zidoro/pomatez/releases/tag/v1.3.0
[0]: https://img.linux.net.cn/data/attachment/album/202310/09/135249tc48b4ophxcbcxuz.jpg

View File

@@ -0,0 +1,235 @@
[#]: subject: "Ubuntu vs Kubuntu: Which is the Better Choice for You?"
[#]: via: "https://itsfoss.com/ubuntu-vs-kubuntu/"
[#]: author: "Ankush Das https://itsfoss.com/author/ankush/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16263-1.html"
Ubuntu 与 Kubuntu哪一个更适合你
======
![][0]
> 对于 Ubuntu 和其相关版本如 Kubuntu 的选择可能会令人迷惑。那就让我们简化这个选择过程吧。
Ubuntu 是桌面用户最选择的 Linux 发行版。其特色是一个定制的 GNOME 桌面,可以提供流畅的用户体验。振奋人心!
而另一方面Kubuntu 是 [Ubuntu 发行版家族][1] 中的一员,特色在于其 **KDE Plasma 桌面**
本质上,这两种发行版非常类似,主要区别在于 [桌面环境][2]。
_那么,它二者有何明显不同点?是否一个比另外一个更好?对于你来说,何种发行版更为适合?_
接下来,我们将比较下它们之间的主要不同,并提供一些基本信息以助你做出选择。
> 📋 本篇文章的对比依据是 Ubuntu 23.04 以及 Kubuntu 23.04。随着未来版本的发布,可能会有一些变动,我们也会持续进行更新。
### 桌面环境
Ubuntu 的特色在于使用了 [GNOME][3] 桌面的定制外观。对于新的 Linux 用户来说,这个布局独特且易用。
![Ubuntu 23.04 主屏幕截图][4]
它并不与 Fedora Linux 的原生 GNOME 体验完全相同。Ubuntu 的桌面环境体验经过了一些改动。
Kubuntu 提供了原生的 [KDE Plasma][5] 体验。对于从 Windows 平台转换来的用户,布局会感到相当熟悉,包含开始菜单、系统小工具等等。
![Kubuntu 23.04 截图][6]
如果你尝试过任何其他带有 KDE Plasma 桌面的发行版,其体验应该差不多。
它们都是一些极为出色的 [桌面环境][7],所以,你基于各种布局、定制性和特性选择它们中的哪一个都没有什么问题。
为了进行更多的参考,下面是 Ubuntu 的登录页面所呈现的样子:
![][8]
接下来,我们看一下带有 X11 桌面会话的 Kubuntu 登录屏幕:
![][9]
此外,我为你提供了一份详细的指南,如果你想深入研究,可以参考这份 [KDE 与 GNOME][10] 的对比指南:
> **[KDE 与 GNOMELinux 桌面终极之选][10]**
> 💡 根据发行版版本,例如 [长期支持版][12]LTS还是非 LTS桌面环境及特征集会有所不同。
>
> 举例来说,如果你选择像 Ubuntu 23.10 或 Kubuntu 23.10 这样的非 LTS 版本,你可以获得更新的桌面版本 —— [GNOME 45][13] 或 [KDE Plasma 5.27][14]。
>
> 而对于 Ubuntu 22.04 LTS提供的则是稍旧一些的桌面版本—— [GNOME 42][15] 或 [KDE Plasma 5.24][16]。
### 软件管理
由于 Ubuntu 和 Kubuntu 其核心都是 Ubuntu或 Debian因此可以期待在这两个版本上安装同样的应用程序。
但是,你用来管理或安装应用程序的应用商店在每个版本中都是不同的。
![][17]
对于 Ubuntu它使用 <ruby>软件中心<rt>Software Center</rt></ruby> 或者 <ruby>Ubuntu 应用中心<rt>Ubuntu App Center</rt></ruby>(从 [Ubuntu 23.10][18] 开始的新版本),默认集成了 Snap。因此如果你更倾向于使用 Snap 而不是 FlatpakUbuntu 就可以提供以无缝的安装体验。
![][19]
想要使用 Flathub 的包,你可以按照我们的 [Flatpak 使用指南][20] 进行操作,但 Ubuntu 的软件管理器并未提供整合。
提及 Kubuntu你得到的软件管理器是 “<ruby>发现<rt>Discover</rt></ruby>” 应用。你也可以从软件仓库以及 Snap 包中安装应用。
![][21]
与 Ubuntu 的软件商店相较,“发现”应用在轻松整合 Flatpak 方面更具**灵活性**。
你只需多击几下,就可以在设置菜单中通过 **Flatpak 后端插件** 在“发现”应用里列出来自 Flathub 的应用。
![][22]
### 软件与功能点差异
有些用户更注重在特定发行版中能做什么,以及开箱即用的软件工具。
![Kubuntu 中的屏幕截图操作][23]
他们并不在意桌面布局或锁屏和登录屏幕的界面如何。他们只在乎**功能特性**,就如你在这里看到的图片展示的那样。
![Ubuntu 的快速切换菜单][24]
> 📋 可用的功能会依据发行版的版本和软件而有所不同。然而,我相信,一些让它们各自独特之处值得你了解,这些可能有助于你的选择。
一些重要的功能点如下:
* Kubuntu 的默认屏幕截图工具提供了注释和编辑功能,而 Ubuntu 则没有这功能。
* Kubuntu 的文件管理器比 Ubuntu 的包含更多的特性。
* 作为桌面环境选项Kubuntu 提供了更多的预装应用。
* 相比于 UbuntuKubuntu 提供了更多的外观定制选项。
* Kubuntu 默认使用 KDE “<ruby>连接<rt>Connect</rt></ruby>” 应用连接你的移动设备。你也可以在 Ubuntu 进行相同的安装以获取这个功能。
* 在 Ubuntu 上,简易化并自动化的工作空间增加功能易于改进工作流。你可以在 Kubuntu 上增加虚拟桌面,但需手动操作。
* Ubuntu 具有快捷切换到深色/浅色模式的功能。
* Ubuntu 针对经常被海量选项所困扰的用户,更加注重简单易用的操作方式。
### 发布周期
如 Ubuntu 18.04 和 Ubuntu 22.04 这类的 Ubuntu LTS 版本,会在其发布之日后的**五年**内接受软件更新和安全补丁。
此外,如果你希望长期使用同一版本,你可以选择开通 [Ubuntu Pro 订阅][25](个人使用免费),它将为你提供**额外五年的更新支持**。
而对于非 LTS 版本,如 Ubuntu 22.10 和 Ubuntu 23.04,则会提供**九个月的维护更新**。
> 💡 对大部分用户来说,我们推荐使用 LTS 版本。只有在你准备好在九个月之后升级你的系统,以获取最新最好的软件时,才推荐尝试非 LTS 版本。
如果你对这些术语感到不熟,我建议你阅读我们的一些资源,深入理解发布周期:
* [Ubuntu 的生命周期终止期指的是什么?][26]
* [长期支持版是什么意思?][12]
总的来说,选择 Ubuntu你可以获得**相当长的支持选项**。
大部分用户可能会认为,由于 Kubuntu 是 Ubuntu 的官方发行版,它们应该具有相同的更新周期。遗憾的是,**并非如此**。
在 Kubuntu 中,其**长期支持版从发布之日起仅支持三年**。非长期支持版的更新维护期仅为**九个月**。并无任何扩展软件更新期的选项。
### 安装
不论是 Ubuntu 还是 Kubuntu其安装过程都相当直观且易于理解。
你将注意到的唯一不同之处在于用户界面及其一些选项。
以下是 Kubuntu 的截图:
![][27]
![][28]
尽管它们的界面有所不同,但安装过程都极其简便。
这里是 Ubuntu 的一个安装界面截图:
![][29]
![][30]
Ubuntu 近期发布的版本极大地改进了安装器的用户体验。所以,用户在点击步骤进行安装时,可能会觉得更加简洁明了。
例如,安装 Ubuntu 后,你或许可以立即选择深色或浅色模式,然而在 Kubuntu 中这样的选项并不可用。
![][31]
### 系统资源使用
这里不会有赢家或输家但基本上Kubuntu 上的桌面环境KDE Plasma更轻量也更注重性能。
Ubuntu 的 GNOME 则设计得直观,为你提供了顺畅的用户体验。
举个例子基于我的测试Ubuntu 在启动后会马上占用大约 **1.5 GB 的内存**
![][32]
而在 Kubuntu 中,启动后占用的内存约为 1.2 GB
![][33]
没错Kubuntu 的系统监控看起来功能稍多一些。但这就是全部了。
因此,在资源使用方面,虽然你在纸面上可能观察到明显的差异,但在实践中,它可能根本不会对你产生影响。
### 你应该选择哪个?
在选择一个适合日常使用的 Linux 发行版时,你的工作流以及布局都是需要考虑的因素。
**如果你熟悉 Windows 平台Kubuntu 应是一个好选择**(甚至是从 Windows 平台转换过来的用户)。
**如果你理解并乐意接受 GNOME 的布局Ubuntu 可以为你提供简单且现代的体验。**
但不管是哪种情况,**如果你希望能有高度的可定制性和大量实用工具Kubuntu 会是一个理想的选择**。反而,**如果你更偏爱简约清晰的布局,选择 Ubuntu 一定不会错**。
💬 你更偏好哪一个 Linux 发行版,是什么让你做出这样的选择呢?
*题图MJ/dbde3529-ecea-4411-a53e-6e75b4e388db*
--------------------------------------------------------------------------------
via: https://itsfoss.com/ubuntu-vs-kubuntu/
作者:[Ankush Das][a]
选题:[lujun9972][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [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/which-ubuntu-install/
[2]: https://itsfoss.com/what-is-desktop-environment/
[3]: https://www.gnome.org/
[4]: https://itsfoss.com/content/images/2023/10/ubuntu-23-04-home-with-wallpaper.jpg
[5]: https://kde.org/plasma-desktop/
[6]: https://itsfoss.com/content/images/2023/10/kubuntu-23-04-home.png
[7]: https://itsfoss.com/best-linux-desktop-environments/
[8]: https://itsfoss.com/content/images/2023/10/ubuntu-log-in-screen.jpg
[9]: https://itsfoss.com/content/images/2023/10/kubuntu-login.jpg
[10]: https://itsfoss.com/kde-vs-gnome/
[11]: https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png
[12]: https://itsfoss.com/long-term-support-lts/
[13]: https://news.itsfoss.com/gnome-45/
[14]: https://news.itsfoss.com/kde-plasma-5-27-release/
[15]: https://news.itsfoss.com/gnome-42-features/
[16]: https://news.itsfoss.com/kde-plasma-5-24-lts-release/
[17]: https://itsfoss.com/content/images/2023/10/ubuntu-23-04-software-center.png
[18]: https://news.itsfoss.com/ubuntu-23-10/
[19]: https://itsfoss.com/content/images/2023/10/ubuntu-softwar-center-app.png
[20]: https://itsfoss.com/flatpak-guide/
[21]: https://itsfoss.com/content/images/2023/10/kde-discover.png
[22]: https://itsfoss.com/content/images/2023/09/kubuntu-discover-23-04.jpg
[23]: https://itsfoss.com/content/images/2023/10/kde-spectacle.jpg
[24]: https://itsfoss.com/content/images/2023/10/quick-toggles-on-ubuntu.jpg
[25]: https://ubuntu.com/pro
[26]: https://itsfoss.com/end-of-life-ubuntu/
[27]: https://itsfoss.com/content/images/2023/10/kubuntu-installation-1.jpg
[28]: https://itsfoss.com/content/images/2023/10/kubuntu-installation.jpg
[29]: https://itsfoss.com/content/images/2023/10/8-location.png
[30]: https://itsfoss.com/content/images/2023/10/6-Disk-layout.png
[31]: https://itsfoss.com/content/images/2023/10/10-light-and-dark-mode.png
[32]: https://itsfoss.com/content/images/2023/10/ubuntu-resources.png
[33]: https://itsfoss.com/content/images/2023/10/kubuntu-system-resources.png
[0]: https://img.linux.net.cn/data/attachment/album/202310/08/104715hv9msvt1segmozs4.jpg

View File

@@ -0,0 +1,93 @@
[#]: subject: "Add Minimize and Maximize Buttons in GNOME"
[#]: via: "https://itsfoss.com/gnome-minimize-button/"
[#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "geekpi"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16295-1.html"
在 GNOME 中添加最小化和最大化按钮
======
![][0]
> 缺少了 GNOME 中的最小化按钮选项?下面教你如何轻松找回它。
与 Ubuntu 不同,[Fedora][1] 和 Arch Linux 等发行版为你提供了原生的 GNOME但可能让你烦恼的一件事是应用窗口上缺少最小化和最大化按钮。
![No minimize or maximize button in application windows, only close button][2]
GNOME 希望你使用应用切换器(`Alt+Tab`)或使用活动区(`Super` 键)在正在运行的应用之间切换,而不是最小化它。
好消息是,如果你不喜欢的话,你不必这样。
让我分享一下如何使用 GUI 和命令行选项恢复 GNOME 中的最小化和最大化按钮。
### 方法 1使用 GNOME 优化工具启用最小化和最大化按钮
GNOME <ruby>优化<rt>Tweaks</rt></ruby> 工具允许你自定义 GNOME 的各个方面。启用最小化窗口按钮就是其中之一。
首先使用发行版的包管理器安装 GNOME 优化工具。
运行应用并从左侧边栏进入 Windows 标题栏。你将在此处看到添加最小化和最大化按钮的选项,
![][3]
你可以选择其中一个或两者。如果你不再需要它,**你可以在 GNOME 调整工具中以相同的方式禁用按钮**。
> 💡 如果需要,你还可以选择将这些控制按钮放在左侧。该选项位于标题栏按钮选项的末尾。
### 方法 2使用命令行启用最小化和最大化按钮
`gsettings` 命令可以选择更改按钮布局并添加最小化和最大化按钮。
```
gsettings set org.gnome.desktop.wm.preferences button-layout ":minimize,maximize,close"
```
正如你所猜测的,如果你想要**禁用任何按钮,你可以运行相同的命令,但从命令中省略不需要的按钮**。
> 💡 你还可以通过将冒号放在命令的右侧来将 Windows 控制按钮移动到左侧:
>
> ```
> gsettings set org.gnome.desktop.wm.preferences button-layout "close,minimize,maximize:"
> ```
### 受到 macOS 的启发并不总是一件好事
显然,这种“无最小化按钮”的设计灵感来自苹果的 macOS。我记得大约 10 年前macOS 曾经将窗口控件放在左侧。因此 Ubuntu Unity 也尝试默认将控件保留在左侧。
苹果很奇怪。他们大多数时候都有很好的设计但有时他们会优先考虑设计而不是使用体验。“Magic Mouse” 就是一个例子。
> “Magic Mouse 深受用户喜爱”。你确定?
>
> ![][4]
>
> — Stuart (@stuwieface) [2021 年 4 月 20 日][5]
我不明白为什么 GNOME 开发者需要从各种设计中获得灵感,尤其是那些糟糕的设计。
但那只是我的个人意见。我很高兴有一个快速简单的解决方案可以恢复 GNOME 中的最小化和最大化按钮。
*题图MJ/f8ce0441-3d9b-498c-8e23-e48f7a90d040*
--------------------------------------------------------------------------------
via: https://itsfoss.com/gnome-minimize-button/
作者:[Abhishek Prakash][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/abhishek/
[b]: https://github.com/lujun9972
[1]: https://itsfoss.com/best-fedora-linux-distributions/
[2]: https://itsfoss.com/content/images/2023/10/missing-minimize-button-gnome.png
[3]: https://itsfoss.com/content/images/2023/10/enable-minimize-maximize-windows-option-gnome-tweaks.png
[4]: https://pbs.twimg.com/media/EzbzOQOXsAAwdE0?format=jpg&name=medium
[5]: https://twitter.com/stuwieface/status/1384561367223521286?ref_src=twsrc%5Etfw
[0]: https://img.linux.net.cn/data/attachment/album/202310/18/104631i5gbbz3mwkfp5gmu.jpg

View File

@@ -0,0 +1,85 @@
[#]: subject: "Cloudflare Unveils Free Privacy-Friendly Replacement to the Annoying CAPTCHA System"
[#]: via: "https://news.itsfoss.com/cloudflare-captcha-replacement/"
[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16271-1.html"
Cloudflare 推出免费的、更注重隐私的替代验证码系统
======
![][0]
> Cloudflare 最终提出了一种可结束视觉难题的解决方案。
自 [去年][1] 以来Cloudflare 一直在研发一种更加注重隐私的验证码CAPTCHA替代系统。
可恶的验证码(尤其是谷歌的 reCAPTCHA的问题是其无必要地收集用户数据、延迟体验时间、在网络导航中造成不便。
当然,验证码在一定程度上具有其用处。如果我声称它一无是处,无疑会显得无知。然而,随着技术的发展,以及为了提供无缝体验,我们所有的 [隐私保护工具][2] 都在不断进步,我们也需要一个连贯的系统来保护网站免受机器人的侵扰。
令人感兴趣的是Cloudfare 设法整合了一项**每个人都可以免费使用作为替代品的技术**,那就是**Cloudflare Turnstile**。和每个 Cloudflare 的产品一样,你可以得到一个 "_Enterprise_" 计划,能够移除其品牌标识,并做一些其他操作。
### Cloudflare Turnstile彻底摆脱验证码
有了 [Cloudflare Turnstile][4],你将永远不再需要解答任何视觉难题。
一开始,即使是它的自家隐私优先的验证码系统也会向部分用户展示难题。
现在,所有这些都已被他们的新产品替换。你只需进行一次点击,就可以验证你是人类:
![来源Cloudflare 博客][5]
为了确保隐私保护目标的实现Cloudflare 作出了以下说明:
> 我们创立 Turnstile 就是为了保护隐私。Turnstile 达到了 <ruby>[电子隐私指令][6]<rt>ePrivacy Directive</rt></ruby>、[GDPR][7] 及 [CCPA][8] 的合规性要求也符合我们自己严格的隐私承诺。此外Cloudflare 的 [FedRAMP Moderate 授权套餐][9]、"Cloudflare for Government" 现在也包括 Turnstile。我们并不依赖于追踪用户数据比如用户访问过其他哪些网站来判断用户是人还是机器人。我们的业务是保护网站而不是卖广告因此运营商可以放心部署 Turnstile知道他们的用户数据安全无虞。
此外Cloudflare 认为,即使不向用户提供任何交互元素,它也能比现有的验证码系统更有效。它可以保护网站免受机器人流量,以及欺诈行为的侵害。
所以,有些人可能甚至不会看到人类验证的挑战,因为 Cloudflare 已经通过后台进行了一系列的检查和分析以发现可疑行为。
**有什么更让人兴奋的吗?**
![][10]
所有这些都是免费提供的。任何不使用 Cloudflare 作为防火墙或 CDN 的网站或平台,只需添加**几行代码**,即可选择使用本服务。
> **[Cloudflare Turnstile][4]**
你还可以按照官方 [文档][14] 的指南,从 [reCAPTCHA][12] 或 [hCAPTCHA][13] 迁移到该系统。
欲了解更多技术信息,你可以查看 [Cloudflare 的公告][15]。
💬 你如何评价 Cloudflare 的新系统,能在无需验证码的情况下阻挡机器人并提升用户体验呢?
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/cloudflare-captcha-replacement/
作者:[Ankush Das][a]
选题:[lujun9972][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/ankush/
[b]: https://github.com/lujun9972
[1]: https://news.itsfoss.com/cloudflare-pat/
[2]: https://itsfoss.com/privacy-tools/
[3]: https://proton.go2cloud.org/favicons/apple-touch-icon.png
[4]: https://www.cloudflare.com/en-in/products/turnstile/
[5]: https://news.itsfoss.com/content/images/2023/10/cloudflare-turnstile.gif
[6]: https://www.cloudflare.com/learning/privacy/what-is-eprivacy-directive/
[7]: https://www.cloudflare.com/learning/privacy/what-is-the-gdpr/
[8]: https://www.cloudflare.com/learning/privacy/what-is-the-ccpa/
[9]: https://marketplace.fedramp.gov/products/FR2000863987
[10]: https://news.itsfoss.com/content/images/2023/10/turnsite-dashboard.jpg
[11]: https://linuxhandbook.com/content/images/size/w256h256/2021/08/Linux-Handbook-New-Logo.png
[12]: https://www.google.com/recaptcha/about/
[13]: https://www.hcaptcha.com/
[14]: https://developers.cloudflare.com/turnstile/migration/
[15]: https://blog.cloudflare.com/turnstile-ga/
[0]: https://img.linux.net.cn/data/attachment/album/202310/10/104321aioinl13v7i9nz6b.jpg

View File

@@ -0,0 +1,187 @@
[#]: subject: "How to Add Comments in Bash Scripts"
[#]: via: "https://itsfoss.com/bash-comments/"
[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "geekpi"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16298-1.html"
如何在 Bash 脚本中添加注释
======
![][0]
> 你有要说明的地方吗?请将它们添加到你的 Bash 脚本中。
在 Bash 脚本中添加注释是保持代码整洁且易于理解的最有效方法之一。
你可能会问为什么。
假设你的脚本包含一个复杂的正则表达式或多个复杂的代码块,在这种情况下,你可以添加注释,以便其他开发人员或你可以了解该代码块的含义。
注释掉部分代码也有助于调试脚本。
在本教程中,我将引导你了解在 Bash 脚本中添加注释的三种方法:
* 单行注释
* 行内评论
* 多行注释
那么让我们从第一个开始。
### Bash 中的单行注释
要添加单行注释,你必须将哈希符号(`#`)放在行的开头并编写注释。
这是一个简单的例子:
````
#!/bin/bash
# This is a comment
echo "Hello, World!"
````
执行时,注释将被忽略,当我执行上面的命令时,它看起来像这样:
![][1]
> 💡 `#` 注释规则的唯一例外是脚本开头的 `#!/bin/bash` 行。它称为 [释伴][2],用于指定运行脚本时要使用的解释器。有不同的 Shell语法也可能不同。因此一个好的做法是指定脚本是为哪个 Shell 编写的。例如,如果是 ksh则可以使用 `#!/bin/ksh`.
### Bash 脚本中的内联注释
或者,你可以将注释放在代码块内以记录该特定行的用途。
> 🚧 `#` 之后的任何内容在该行结束之前都不会执行,因此请确保在代码末尾添加注释。
这是一个简单的例子:
````
#!/bin/bash
echo "Hello, World!" #Prints hello world
````
![][3]
### Bash 中的多行注释
> 🚧 Bash 中没有内置的多行注释功能。但是,有一些解决方法可以实现多行注释效果。
顾名思义Bash 脚本中的多行注释允许你在多行中编写注释,或者通过将它们放在多行注释部分来阻止执行代码块:
1. 在每行的开头使用 `#`
2. [冒号表示法][4](使用冒号后跟单引号)
3. 现场文档(使用 `<<` 后跟分隔符)
那么让我们从第一个开始。
#### 1、对块注释的每一行使用 `#`
如果你的目的是解释脚本的一部分,我建议使用此方法。毕竟,`#` 才是真正的注释功能。
这也是许多开发人员使用的方法。
假设你必须在一开始就解释脚本的用途、作者信息或许可信息。你可以这样写:
```
#!/bin/bash
######################################
## This script is used for scanning ##
## local network ##
## Licensed under GPL 2.0 ##
######################################
这个 Bash 脚本的其它部分……
```
当你想说明 Bash 脚本的行为方式时这不错。如果你正在调试 Bash 脚本并希望隐藏部分脚本,则在所需代码的每一行开头添加 `#` 并在调试后将其删除是一项耗时的任务。
接下来的两节将帮助你做到这一点。
#### 2、冒号表示法
要使用冒号表示法,请在 `: '` 和结束的 `'` 之间编写块注释,如下所示:
```
#!/bin/bash
: '
This is how you can use colon notation
And this line too will be ignored
'
echo "GOODBYE"
```
当你执行上面的脚本时,它应该只打印 `GOODBYE`。
![][5]
#### 3、现场文档
到目前为止,这是在 Bash 中编写多行注释的最流行的方法,你可以使用 `<<` 后跟分隔符(一组用于指定注释开始和结束的字符)。
LCTT 译注:在编程领域,“**here document**” 是一个常见的术语,特指在脚本语言(如 Perl、Bash能够直接在代码内部嵌入并处理一个数据块或文本串的技术。尽管传统上我们将它翻译为“嵌入式文档” 或不翻译,但这个译法似乎并不能完全地体现出原文的感觉和含义。为了让这个概念变得更为直观和易理解,我们建议将 “here document” 翻译为 “**现场文档**”。“现场”相比于“嵌入式”,更好的传达了文档就在代码的当前位置,或代码“现场”的含义。这样的译法也与原文 “here document” 中 “here”这里的含义更为契合。我们希望这个译法能够在未来得到更广泛的使用和认可让编程的世界因语言的精准而变得更美好。PS., 该译法和解释得到了 ChatGPT 的建议和生成。)
使用方法如下:
```
#!/bin/bash
<<DELIMITER
Comment line 1
Comment line 2
DELIMITER
echo "Hello, World!"
```
还困惑吗? 这是一个简单的例子:
```
#!/bin/bash
<<COMMENT
This is a multi-line comment using a here document.
You can add as many lines as you want between <<COMMENT and the terminating keyword.
This block won't be executed by the shell.
COMMENT
echo "Hello, World!"
```
在上面的示例中,我使用了 `COMMENT` 作为分隔符,但你可以使用任何内容,但要确保它从注释中脱颖而出,否则会造成混乱。
当我执行上面的脚本时,它给出了以下输出:
![][6]
正如你所看到的,它忽略了从 `<<COMMENT` 到 `COMMENT` 的所有内容。
我希望本指南对你有所帮助。
*题图MJ/7c2a3ef4-5256-405e-b757-23e0ba1f0bc5*
--------------------------------------------------------------------------------
via: https://itsfoss.com/bash-comments/
作者:[Sagar Sharma][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/sagar/
[b]: https://github.com/lujun9972
[1]: https://itsfoss.com/content/images/2023/10/Use-single-line-comments-in-bash.png
[2]: https://linux.cn/article-3664-1.html
[3]: https://itsfoss.com/content/images/2023/10/How-to-use-the-single-line-comments-in-bash.png
[4]: https://stackoverflow.com/questions/3224878/what-is-the-purpose-of-the-colon-gnu-bash-builtin
[5]: https://itsfoss.com/content/images/2023/10/Use-multi-line-comments-using-colon-notation-in-bash.png
[6]: https://itsfoss.com/content/images/2023/10/Use-multi-line-comments-in-bash-using----and-delimeter.png
[7]: https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png
[0]: https://img.linux.net.cn/data/attachment/album/202310/19/113658dld7b9987xa89l99.jpg

View File

@@ -0,0 +1,127 @@
[#]: subject: "Ardour 8.0 is an Apple-Friendly Update With Novation Launchpad Pro Support"
[#]: via: "https://news.itsfoss.com/ardour-8-0-release/"
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16288-1.html"
Ardour 8.0 发布,加入对 Novation Launchpad Pro 的支持
======
![][0]
> Ardour 8.0 这个重大升级为我们带来了对新硬件的支持,完善的自动化创建流程等。
Ardour 作为最好的 Linux [数字音频工作站DAW][1] 之一,允许音频专业人士进行包括创建、录音、混音音乐和其他各类音频的各种工作。
这一次,我们迎来了这款 DAW 的重大升级。 **Ardour 8.0** 的发布距离它的 [7.0 发布][2] 近一年,不过这还是它发展历程中的一次显著进步。
下面就让我们来详细探讨一下它都带来了哪些新的变化。
### 🆕 Ardour 8.0: 有哪些新功能?
![][4]
Ardour 8.0 版本承诺提供丰富的新特性以及大量的修复。
而且,开发者在此次发布时也特别强调,**Ardour 的会话文件格式没有发生改变**,这就意味着,所有在之前 7.x 版本的 Ardour 创建的会话在加载时都不会出现问题。
以下是一些主要亮点:
* 支持 Novation Launchpad Pro
* MIDI 音轨头部进行了全新设计
* MIDI 动力性的提高
* 支持区域分组功能
* macOS 的公证服务
#### 支持 Novation Launchpad Pro
![][5]
Ardour 8.0 版本的增加了对 Novation 公司发售的 [Launchpad Pro][6] 的支持,它是一款电子乐器,包括一个 8×8 格的 RGB可以检测力度的触摸垫可以完成各种各样的任务。
对于 Ardour 来说,它可以用于 **触发音频切片和线索**、**控制音频增益水平**、**操作声音平移** 甚至 **设置音轨/总线的水平**
#### MIDI 音轨头部全新设计
![][7]
**全新设计的 MIDI 音轨头** 带来了一些引人注目的变化,最值得注意的包括:
* 八度音符如 C3、C4 将会永久显示。
* 可以通过钢琴卷动键来记录 MIDI。
* <ruby>滚动+缩放<rt>scroomer</rt></ruby> 功能的直观设计。
* 在 <ruby>滚动+缩放<rt>scroomer</rt></ruby> 功能中可以显示音符名称,可以使用 MIDNAM 数据,泛用音符编号或 12TET 名。
#### MIDI 动力学的改进
在一直以来的用户需求驱动下Ardour 的开发者终于新增了一款 **传统的 <ruby>动力棒棒糖<rt>velocity lollipop</rt></ruby>界面**
这个界面由带有顶部圆点的垂直横条组成,可以用这个横条调节音符力度。我建议你可以在上面的视频中了解更多关于这个在 Ardour 8.0 版本中实施的一项功能。
#### 支持区域分组功能
![][8]
这也是用户长期以来的一项需求。**区域分组** 提供了一个选取多个 [区域][9] 并将它们组合成一个单一元素的功能。
这个功能可以赋予你将多个元素整合移动/剪辑的能力,减少对每个元素重复操作的需要。
#### macOS 验证
当你在苹果电脑上安装第三方软件时,计算机会警告你该软件可能会对你的系统产生损害或含有恶意软件,当然,对于用户而言,这可能是一个糟糕的用户体验,他们可能不会尝试运行它。
为了改善用户体验Ardour 决定参加并支付一个苹果开发者账户以使用它的验证系统 [Notarization][10]。
因此,下次当你在 macOS 上安装 Ardour 时,你会看到软件已经被苹果检查/验证没有携带恶意软件,这会让用户对 Ardour 有更多的信心。
#### 🛠️ 其它的改变
最后,以下还有一些其他带来的改变:
* 支持自由手绘自动化曲线。
* 新增了三个新的 MIDI 算法插件。
* 集成有序排列组成特性的专专用标尺。
* BBT 标记提供了多项提升。
你也可以查看 [官方发布说明][11] 来更多地了解这次发布的信息。
### 📥 下载 Ardour 8.0
由于 Ardour 是一个跨平台的应用程序,你可以在它的 [官方网站][12] 上找到适用于 **Linux**、**Windows** 和 **macOS** 的软件包。
> **[Ardour][12]**
如果你对源代码感兴趣,你也可以查看它的 [GitHub 仓库][13]。
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/ardour-8-0-release/
作者:[Sourav Rudra][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://news.itsfoss.com/author/sourav/
[b]: https://github.com/lujun9972
[1]: https://itsfoss.com/best-daw-linux/
[2]: https://news.itsfoss.com/ardour-7-0-release/
[3]: https://news.itsfoss.com/content/images/size/w256h256/2022/08/android-chrome-192x192.png
[4]: https://news.itsfoss.com/content/images/2023/10/Ardour_8.0_1.png
[5]: https://news.itsfoss.com/content/images/2023/10/Ardour_8.0_2.png
[6]: https://novationmusic.com/products/launchpad-pro
[7]: https://news.itsfoss.com/content/images/2023/10/Ardour_8.0_3.png
[8]: https://news.itsfoss.com/content/images/2023/10/Ardour_8.0_4.png
[9]: https://manual.ardour.org/working-with-regions/
[10]: https://developer.apple.com/documentation/security/notarizing_macos_software_before_distribution
[11]: https://ardour.org/whatsnew.html
[12]: https://community.ardour.org/download
[13]: https://github.com/Ardour/ardour
[0]: https://img.linux.net.cn/data/attachment/album/202310/16/143813ue8eue89mt44btum.jpg

View File

@@ -0,0 +1,104 @@
[#]: subject: "How to Record Your Screen with VLC [For Fun]"
[#]: via: "https://itsfoss.com/vlc-record-screen/"
[#]: author: "Sreenath https://itsfoss.com/author/sreenath/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "geekpi"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16310-1.html"
如何使用 VLC 录制屏幕
======
![][0]
> 用途广泛的 VLC 可以做很多事情。屏幕录制就是其中之一。
VLC 不仅仅是一个视频播放器。它还是一款多功能视频工具,具有普通用户永远无法了解的众多功能。
你可以 [使用 VLC 下载 YouTube 视频][1],甚至可以用它修剪视频。
VLC 的另一个不寻常用途是屏幕录制。
**我仍然建议使用合适的屏幕录像机来完成此任务,欢迎你探索这个 VLC 功能以获取乐趣。**
### 使用 VLC 进行屏幕录制
> 🚧 虽然我可以使用 VLC 录制桌面屏幕,但无法录制任何声音和鼠标光标。在我看来,它并不能替代合适的屏幕录制工具。
要使用 [VLC][2] 录制屏幕,请打开它并单击 “<ruby>媒体<rt>Media</rt></ruby>”,然后选择 “<ruby>转换/保存…<rt>Convert/Save...</rt></ruby>”。(或者直接点击 “<ruby>媒体<rt>Media</rt></ruby>”→“<ruby>打开采集设备…<rt>Open Capture Device...</rt></ruby>”)
![Select Convert/ Save option][3]
转到 “<ruby>捕获设备<rt>Capture Device</rt></ruby>” 选项卡,然后从 “<ruby>捕获模式<rt>Capture Mode</rt></ruby>” 下拉列表中选择桌面。
![Capture Mode: Desktop][4]
现在这里为你的录制提供了一些帧率。10、24 fps 等都不错,如果你需要更高的质量,请选择更高的。请注意,这会增加文件大小和系统要求。然后,按 “<ruby>转换/保存<rt>Convert/Save</rt></ruby>” 按钮。
![Set Frame Rate][5]
在下一页上,从下拉列表中选择一个配置文件,然后单击相邻的按钮来编辑该配置文件。
![Set Output Profile][6]
设置你需要的视频格式,然后按 “<ruby>保存<rt>Save</rt></ruby>”。
![Edit the Output Profile][7]
现在,你需要给出目标文件名。单击 “<ruby>浏览<rt>Browse</rt></ruby>”按钮,选择位置,然后输入输出文件的名称。单击 “<ruby>保存<rt>Save</rt></ruby>”。
![Output file location and Name][8]
按 “<ruby>开始<rt>Start</rt></ruby>” 按钮,开始录制屏幕。
![Start Recording][9]
这将开始录制。完成录制后,使用面板按钮停止。
![Stop Recording][10]
或者单击 VLC 上的停止按钮。
![Stop Button in VLC][11]
就是这样。你可以在保存屏幕录像的位置查看屏幕录像。
![Output File][12]
### 总结
如你所见,虽然可以使用 VLC 录制桌面屏幕,但它并不能替代 [专用屏幕录制工具][13]。缺乏录音是一个重大的遗憾。
仅当你没有任何其他选项时才使用 VLC 进行屏幕录制。你怎么认为?
*题图MJ/f48c22e9-a2d1-4567-a265-6c3aaf147aff*
--------------------------------------------------------------------------------
via: https://itsfoss.com/vlc-record-screen/
作者:[Sreenath][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/sreenath/
[b]: https://github.com/lujun9972
[1]: https://itsfoss.com/download-youtube-videos-vlc/
[2]: https://www.videolan.org/vlc/
[3]: https://itsfoss.com/content/images/2023/09/click-on-convert-save.png
[4]: https://itsfoss.com/content/images/2023/09/desktop-in-capture-device.png
[5]: https://itsfoss.com/content/images/2023/09/set-frame-rate-and-press-convert.png
[6]: https://itsfoss.com/content/images/2023/09/Select-profile-and-edit.png
[7]: https://itsfoss.com/content/images/2023/09/profile-settings.png
[8]: https://itsfoss.com/content/images/2023/09/give-name-to-output-file-and-save.png
[9]: https://itsfoss.com/content/images/2023/09/press-start-button-to-start-recrding.png
[10]: https://itsfoss.com/content/images/2023/09/stop-button-in-panel-1.png
[11]: https://itsfoss.com/content/images/2023/09/Stop-button-in-VLC.png
[12]: https://itsfoss.com/content/images/2023/09/recorded-output.png
[13]: https://itsfoss.com/best-linux-screen-recorders/
[14]: https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png
[0]: https://img.linux.net.cn/data/attachment/album/202310/23/153033pej4f9egegjbtbbs.jpg

View File

@@ -0,0 +1,115 @@
[#]: subject: "Kubuntu 23.10 Release is Here!"
[#]: via: "https://news.itsfoss.com/kubuntu-23-10/"
[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16281-1.html"
Kubuntu 23.10 版本已发布!
======
![][0]
> Kubuntu 预装了必要的 KDE Plasma 及应用更新。
如果你期待在 Ubuntu 基础之上更新你的 KDE 体验,那么欢迎尝试 Kubuntu 23.10。
虽然这不是一次重大的发布,但如果你正在从 Kubuntu 23.04 升级,遇到了问题,这个新版本会带来更愉快的使用体验。
> 💡 记住Kubuntu 23.10 将享有 **九个月**(即至 **2024 年 7 月**)的技术支持。
### Kubuntu 23.10:有什么新特性?
![][1]
这个版本的亮点包括:
* KDE Plasma 5.27.8
* KDE 应用的更新
* Linux 内核 6.5
* Firefox 118
* LibreOffice 7.6
* Thunderbird 115
#### KDE Plasma 5.27.8
可能你会好奇,为何在这次新的更新中还停留在 KDE Plasma 5.27阶段?
这是因为它是 [KDE Plasma 6][2] 升级(计划在 _2024 年 2 月_ 进行)前的最后一个版本。所以,你不会看到 KDE Plasma 5.28 的发布。
![][3]
在 KDE Plasma 5.27.8,做了许多显著的问题修复以及改进,包括对混合睡眠的支持、利用 Plasma <ruby>系统监视器<rt>System Monitor</rt></ruby> 对多 GPU 配置中的英伟达 GPU 的监控。
也优化了 KRunner 在 X11 上的性能,系统设置中的关键词搜索更加高效。
![][4]
对于 Kubuntu 的软件中心 “<ruby>发现<rt>Discover</rt></ruby>” 应用,改进了一些 Flatpak 错误的处理方式,你将享受更佳的用户体验。
#### Linux 内核 6.5
Linux 内核 6.5 带来了硬件兼容性的改进,以及对英特尔 Arc 图形的全方位支持,你现在可以在最新的系统上尝试 Kubuntu。
[Linux 内核 6.5][5] 引入了一些包括 Wi-Fi 7 和 USB 4 在内的尖端技术支持。关于更多变化,你可以在我们的报道中详细了解:
> **[Linux 内核 6.5 发布,首次支持 Wi-Fi 7 和 USB4][5]**
#### 应用程序更新
![][7]
Kubuntu 为你预装了最新版 [Firefox 118][8]你可以试用其内建的翻译功能LCTT 译注:不支持中文)。
升级版的 [LibreOffice 7.6][9] 也在本次更新中登场,与之前的版本相比,其表现出显著的进步,提供了新的主题、更好的用户体验以及更优的兼容性。
此外,我们还预装了漂亮的 [Thunderbird 115][10]。
除此之外,你还会获取常规的 KDE 应用更新、问题修复,以及 KDE 框架的改进。
#### 其他改进
随着所有的 KDE 更新、软件包升级和桌面改进,相信你会在用户体验上感受到很多细微的变化。
一些其他的技术更新包括:
* Qt 5.15.10
* Kate 23.08.1
### 📥 如何获取 Kubuntu 23.10
你可以在 [官方网站][11] 或 [Ubuntu 的仓库][12] 下载 Kubuntu 23.10 的 ISO 文件。
> **[Kubuntu 23.10][13]**
(题图:[Ubuntu](https://ubuntu.com/blog/into-the-labyrinth)
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/kubuntu-23-10/
作者:[Ankush Das][a]
选题:[lujun9972][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/ankush/
[b]: https://github.com/lujun9972
[1]: https://news.itsfoss.com/content/images/2023/10/kubuntu-23-10-1.jpg
[2]: https://news.itsfoss.com/kde-plasma-6-dev/
[3]: https://news.itsfoss.com/content/images/2023/10/kubuntu-23-10-sys-info.png
[4]: https://news.itsfoss.com/content/images/2023/10/kubuntu-23-10-discover.png
[5]: https://news.itsfoss.com/linux-kernel-6-5-release/
[6]: https://news.itsfoss.com/content/images/size/w256h256/2022/08/android-chrome-192x192.png
[7]: https://news.itsfoss.com/content/images/2023/10/kubuntu-23-10-application-update.jpg
[8]: https://news.itsfoss.com/firefox-118-release/
[9]: https://news.itsfoss.com/libreoffice-7-6/
[10]: https://news.itsfoss.com/thunderbird-115/
[11]: https://kubuntu.org/getkubuntu/
[12]: http://cdimage.ubuntu.com/kubuntu/releases/23.10
[13]: http://cdimage.ubuntu.com/kubuntu/releases/23.10/release/
[0]: https://img.linux.net.cn/data/attachment/album/202310/14/104118g6gqg1cp81gitqg5.jpg

View File

@@ -0,0 +1,133 @@
[#]: subject: "Raspberry Pi OS Upgrade: Ditching X11, A New Browser, and Debian 12"
[#]: via: "https://news.itsfoss.com/raspberry-pi-os-bookworm/"
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16285-1.html"
树莓派操作系统升级:基于 Debian 12、淘汰 X11
======
![][0]
> 为了匹配最新的树莓派 5 硬件,树莓派操作系统已做好准备,该系统中融入了 Debian 12 以及其他重大更新。
这个新版本的 <ruby>树莓派操作系统<rt>Raspberry Pi OS</rt></ruby> 能够完善支持新推出的 [树莓派 5][1]。
为此,开发者们投入了大量的心血和精力。新系统带来了诸多改进,同时还标志着向更现代化的窗口系统的迁移。
下面,我们来看看他们的具体成果。
### 树莓派操作系统: 新的变化有哪些?
![][2]
开发者基于最新的 [Debian 12 “Bookworm”][3] 版本,对树莓派桌面进行了 **重大的架构更新**
一些显著的新特性包括:
* 全面采用 Wayland
* 网络性能显著提升
* 默认使用 PipeWire
* 为树莓派优化的 Firefox
显然,你将会享受到 Debian “Bookworm” 的核心优点,同时还能体验到上述提到的一些新变化。
#### 全面采用 Wayland
没错,你没有看错。
树莓派桌面已经默认启用 [Wayland][4] 窗口系统,正式摒弃了因多种限制不再使用的 [X11][5] 窗口系统。Wayland 的主要优点是其**在现代硬件上有更出色的性能表现**。
这一切的实现离不开 [Wayfire][6] 合成器的支持,这使得开发者能够在更新中**保持用户熟知的体验**。
以下是开发者在发布公告中的引述:
> 如果你在树莓派 4 或 5 上启动树莓派操作系统,现在你会看到的是一个 Wayfire 桌面。它看起来和你之前在 Bullseye 上使用的桌面几乎一模一样,但在一致的外观背后,我们为了使两个桌面环境看起来一样已进行了大量的工作!
**我们对此并不感到惊讶。**
近期,我们注意到有很多桌面正在从 X11 和 [Openbox][7] 这样的旧窗口系统转向 Wayland。
比如GNOME 最近的更新开启了向 **[全面使用 Wayland 的未来][8]** 的转变。即使是 Fedora Linux 40 也准备弃用 X11 会话,转向使用 [Plasma 6][9] 的 XWayland 方式。
看到树莓派操作系统已经率先进行了这样的变化,实在是让人感到十分有趣 😄
> 📋 不过别担心,**对于仍希望使用 X11/Openbox 显示系统的用户**,他们可以在 `raspi-config` 中的 “<ruby>高级设置<rt>Advanced Settings</rt></ruby>” 菜单中重新启用它。
#### 网络性能显著提升
![][10]
开发者在之前实现的 [NetworkManager][11] 网络控制器的基础上进行了优化,他们为 **任务栏增加了网络插件**
虽然新版本的插件和旧版本看上去差不多,但新增了一个 “<ruby>高级选项<rt>Advanced Options</rt></ruby>” 选项,用户可以通过它访问 NetworkManager 提供的更多功能。
#### 默认使用 PipeWire
现在,树莓派 Desktop 使用 [PipeWire][12] 来处理所有与音频/视频相关的任务。它取代了 [PulseAudio][13],使**音频/视频处理迈向更现代化和灵活的方式**。
在用户端,你可以得到**更优化的蓝牙音频设备管理**、**更低的延迟时间****和 Wayland 的更好互操作性**等等。
用户也可以通过和切换窗口系统类似的步骤**选择回退使用 PulseAudio**。
#### 为树莓派优化的 Firefox
![][14]
这次,我们看到了一个**由官方支持且专门为树莓派优化的 [Mozilla Firefox][15] 版本**,它在这次树莓派操作系统的发布版中首次被引入。
现在,用户可以使用 **V4L2 编码支持** 来启用他们的树莓派上的硬件 h.264 解码器,这将会有助于**实现更好的 HD 视频播放效果**。
此外,他们也启用了 [Widevine DRM][16],以在主流的视频流媒体平台上提供**无障碍的流媒体观看体验**。
在这次发布的版本中还有其他一些细微的变化。想了解更多,请参考 [官方博客][17]。
### 📥 下载树莓派操作系统
由于操作系统细节的大量变化,开发者建议你**从全新安装开始** (重新烧录你的 SD 卡)。
当然,你也可以选择自行升级,但需要自担风险。
你可以访问 [官方网站][18] 进行下载。
> **[树莓派操作系统][18]**
💬 你对新的树莓派操作系统升级感到兴奋吗?欢迎在评论区告诉我们。
*题图MJ/2fe701cd-5ced-41e2-b00e-1454c6f3fa4a*
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/raspberry-pi-os-bookworm/
作者:[Sourav Rudra][a]
选题:[lujun9972][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/sourav/
[b]: https://github.com/lujun9972
[1]: https://news.itsfoss.com/raspberry-pi-5/
[2]: https://news.itsfoss.com/content/images/2023/10/RaspberryPi_OS_Bookworm_1.png
[3]: https://news.itsfoss.com/debian-12-release/
[4]: https://wayland.freedesktop.org/
[5]: https://en.wikipedia.org/wiki/X_Window_System
[6]: https://github.com/WayfireWM/wayfire
[7]: https://en.wikipedia.org/wiki/Openbox
[8]: https://news.itsfoss.com/gnome-wayland-xorg/
[9]: https://fedoraproject.org/wiki/Changes/KDE_Plasma_6
[10]: https://news.itsfoss.com/content/images/2023/10/RaspberryPi_OS_Bookworm_2.png
[11]: https://networkmanager.dev/
[12]: https://pipewire.org/
[13]: https://www.freedesktop.org/wiki/Software/PulseAudio/
[14]: https://news.itsfoss.com/content/images/2023/10/RaspberryPi_OS_Bookworm_3.png
[15]: https://www.mozilla.org/en-US/firefox/new/
[16]: https://www.widevine.com/solutions/widevine-drm
[17]: https://www.raspberrypi.com/news/bookworm-the-new-version-of-raspberry-pi-os/
[18]: https://www.raspberrypi.com/software/operating-systems/
[0]: https://img.linux.net.cn/data/attachment/album/202310/14/233127bc5jlvhkphkgngjh.jpg

View File

@@ -0,0 +1,173 @@
[#]: subject: "Ubuntu 23.10: The Big Release is Here!"
[#]: via: "https://news.itsfoss.com/ubuntu-23-10-release/"
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16278-1.html"
Ubuntu 23.10:全新版本来袭!
======
![][0]
> Ubuntu 23.10 “Mantic Minotaur” 再度亮相,搭载了 GNOME 45以及众多引人瞩目的升级。
又一次,一如既往的一年一度,我们迎来全新的 Ubuntu 发布!
这次发布的版本是 **Ubuntu 23.10** ,这不是一个 [长期支持][1]LTS版本它的代号是 “Mantic Minotaur” (预言牛头人)。
非 LTS 版本更偏向于满足那些想要获取到 Ubuntu 最新以及最出众特性的用户。
对于那些希望长时间坚守一个版本的用户,我们建议使用 LTS 版本,比如 [Ubuntu 20.04][2] 和 [Ubuntu 22.04][3]。
总之,让我们深入了解这次发布的新版本,去发现其中的亮点。
> 💡 Ubuntu 23.10 将会 **提供九个月的支持**,一直到 2024 年 7 月为止。
### ⭐ Ubuntu 23.10:新版调整了什么?
![][4]
即使这是一个非 LTS 发布,但是 **Ubuntu 23.10 却包含了许多有趣的新特性和升级**
一些主要亮点包括:
* 更新升级的安装程序
* 受限的非特权用户命名空间
* GNOME 45
* 全新的壁纸
* 基于 Flutter 的应用商店
* Linux 内核 6.5
### 更新升级的安装程序
![][5]
首先Ubuntu 23.10 的安装程序 **开始实验性地支持两大重要功能**
其一是 [TPM 支持的全盘加密FDE][6],这意味着采用全新的加密机制。它将与你主板上的 TPM 芯片协同运作。
其二是期待已久的 [ZFS 支持][7] 再次回归到安装程序中,它在 [Ubuntu 23.04][8] 被移除。
> 📋 更广泛的 TPM 支持的全盘加密硬件支持将在 Ubuntu 24.04 LTS 中推出。
### 受限的非特权用户命名空间
![][9]
Ubuntu 23.10 首次推出一项新的安全功能。它限制了内核的 “非特权用户命名空间” 特性,这有助于应用程序创建更安全的沙箱环境。
这个特性很有用,那为什么要限制它呢? 原因在于,这个内核特性可能被攻击者利用。
为了消除与这个特性相关的风险,[AppArmor][10] 将被用于有选择地允许/禁止非特权用户命名空间。
这个安全特性默认是关闭的但可以通过命令行选择开启。Canonical 将搜集用户反馈,然后可能决定通过更新将其设为默认。
### GNOME 45
![][11]
Ubuntu 23.10 提供了最新发布的 [GNOME 45][12] 桌面环境,它包括了 **优化过的系统设置应用**、**更新的核心应用**,并 **新增了两个应用**,名为 <ruby>[放大镜][13]<rt>Loupe</rt></ruby> 和 <ruby>[快照][14]<rt>Snapshot</rt></ruby>。
新的 [药丸形工作空间指示器][15] 也在这次发布中首次亮相,虽然不是每个人都会喜欢。
### 新的壁纸
![][17]
Ubuntu 23.10 版本发布,也不忘继续传统,**推出了全新的壁纸** ,这些壁纸主题都与其代号保持一致。所有壁纸看起来都非常不错,这些都是从几个月前举行的 Mantic Minotaur [壁纸比赛][18] 中被选中的。
你可以通过 [官方博客][19] 查找更多有关这些极酷壁纸的信息。
> 📋 我个人特别喜欢 “Bodacious Bovine” 的浅色/深色版本。
### 基于 Flutter 的应用商店
![][20]
得益于在 Ubuntu 23.10 上推出了 **全新的 [基于 Flutter 的商店][21]** Canonical 推将 Ubuntu 各种元素 Flutter 化的努力见到了效果。这个新商店拥有 **更新的布局**、**全新的应用视图** ,以及 **更好的搜索功能**
你在其中可以找到 Snap 和 Deb 包。
### Linux 内核 6.5
![][23]
首先让我们来了解下让一切变为可能的原动力。Ubuntu 23.10 版本采用了相对更新的 [Linux 内核 6.5][24]。
这一特性让 Ubuntu 能够使用到一些新的硬件支持,如 **Wi-Fi 7**、**USB4**、**针对 AMD FreeSync 视频的即插即用支持**,以及**对 AMD Radeon RX 7000 系列显卡的超频支持** 等。
### 🛠️ 其他变动
除了之前提到的特性,还有一些其他值得注意的变动:
* 支持最新发布的 [树莓派 5][25] 和 [HiFive Pro P550][26]。
* [为 PPA 提供增强的安全性][27]。
* 对 Rust 的支持进一步增强。
* 加入了 [Shotwell 0.32][28]。
* 推出了全新升级的平铺辅助工具。
想要了解更多关于此版本的详细信息,你可以查阅我们之前发布的关于 [Ubuntu 23.10 特性][29] 的报告,或者直接阅读官方的版本发布说明。
### 📥 下载 Ubuntu 23.10
> 📋 请注意,在发布公告后,下载可能还需要一段时间。
你可以在 [官方网站][30] 或是 Ubuntu 的镜像 [仓库][31] 中获取最新的 ISO 文件。
> **[Ubuntu 23.10][32]**
**对于现有用户,** 你可以参考我们的 [如何升级 Ubuntu][33] 教程来获取此最新版本。
💬 你是否对试用这个版本感到兴奋?在下方告诉我们你的想法吧!
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/ubuntu-23-10-release/
作者:[Sourav Rudra][a]
选题:[lujun9972][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/sourav/
[b]: https://github.com/lujun9972
[1]: https://itsfoss.com/long-term-support-lts/
[2]: https://itsfoss.com/things-to-do-after-installing-ubuntu-20-04/
[3]: https://itsfoss.com/ubuntu-22-04-release-features/
[4]: https://news.itsfoss.com/content/images/2023/10/Ubuntu_23.10_1-1.png
[5]: https://news.itsfoss.com/content/images/2023/10/Ubuntu_23.10_2.png
[6]: https://linux.cn/article-16187-1.html
[7]: https://news.itsfoss.com/ubuntu-23-10-zfs/
[8]: https://news.itsfoss.com/ubuntu-23-04-release/
[9]: https://news.itsfoss.com/content/images/2023/10/apparmor-ubuntu-23-10.png
[10]: https://ubuntu.com/server/docs/security-apparmor
[11]: https://news.itsfoss.com/content/images/2023/10/Ubuntu_23.10_3.png
[12]: https://linux.cn/article-16215-1.html
[13]: https://linux.cn/article-15887-1.html
[14]: https://linux.cn/article-15789-1.html
[15]: https://news.itsfoss.com/gnome-activities-indicator/
[16]: https://news.itsfoss.com/content/images/size/w256h256/2022/08/android-chrome-192x192.png
[17]: https://news.itsfoss.com/content/images/2023/10/Ubuntu_23.10_4.png
[18]: https://discourse.ubuntu.com/t/mantic-minotaur-23-10-wallpaper-competition/37235
[19]: https://ubuntu.com/blog/into-the-labyrinth
[20]: https://news.itsfoss.com/content/images/2023/10/Ubuntu_23.10_5.png
[21]: https://news.itsfoss.com/ubuntu-23-10-ubuntu-store/
[22]: https://news.itsfoss.com/content/images/2023/04/Follow-us-on-Google-News.png
[23]: https://news.itsfoss.com/content/images/2023/10/Ubuntu_23.10_6.png
[24]: https://news.itsfoss.com/linux-kernel-6-5-release/
[25]: https://news.itsfoss.com/raspberry-pi-5/
[26]: https://www.sifive.com/boards/hifive-pro-p550
[27]: https://news.itsfoss.com/ubuntu-23-10-ppa/
[28]: https://gitlab.gnome.org/GNOME/shotwell/-/blob/master/NEWS
[29]: https://news.itsfoss.com/ubuntu-23-10/
[30]: https://ubuntu.com/download/desktop
[31]: https://cdimage.ubuntu.com/ubuntu/releases/
[32]: https://releases.ubuntu.com/23.10/
[33]: https://itsfoss.com/upgrade-ubuntu-to-newer-version/
[34]: https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png
[0]: https://img.linux.net.cn/data/attachment/album/202310/13/095752pfbbxdci1xoqcfb1.jpg

View File

@@ -0,0 +1,110 @@
[#]: subject: "Ubuntu MATE 23.10 Released: A Modest Upgrade"
[#]: via: "https://news.itsfoss.com/ubuntu-mate-23-10/"
[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "geekpi"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16300-1.html"
Ubuntu MATE 23.10发布: 一个适度的升级
======
![][0]
> Ubuntu MATE 23.10 发布了!
在所有的 Ubuntu 版本中Ubuntu MATE 的升级总是非常有趣的。
不过,最近发布的 Ubuntu MATE 决定坚持小幅改动,并进行预期的软件包升级和修复。你可能知道为什么!
**对于不了解的读者**:这是为了开发我们去年报道过的 [计划中的 Debian MATE 定制版][1]。
说到这里,让我重点介绍一下这些变化。
> 💡 Ubuntu MATE 23.10 将支持**九个月,直至 2024 年 7 月**。
### Ubuntu MATE 23.10:有什么新功能?
![][2]
Ubuntu MATE 23.10 受益于 [Ubuntu 23.10][3] 推出的所有好东西。
此外,这里还有一些改进:
* MATE 桌面更新至 v1.26.2。
* 添加更多人工智能生成的壁纸。
* 应用更新。
#### MATE 桌面升级
在最新的 MATE 桌面 1.26.2 中,你将获得大量错误修复和一些小的改进。
升级包括以下内容:
* 更新 MATE 用户指南 v1.26.2-1
* 改进门户支持
* 改进系统监视器,以便从 `/usr/libexec` 获取 `libexec` 文件
* 修正 MATE 会话管理器,使其更好地与系统监视器配合使用
* mate-utils 1.26.1-1 修复了内存泄漏问题
#### 额外的人工智能生成的壁纸
![][5]
虽然你已经可以从 [Ubuntu 23.10 更新合集][6] 中下载一些有趣的壁纸,但在这里你还能获得额外的壁纸(如上面的截图所示)。
Simon Butcher 是使用前沿的 Diffusion 模型制作这款壁纸的人,他提到:
> 由于牛头人是一种想象中的生物,因此对其的解释往往千差万别。我想制作一个具有漫画小说风格的强大生物图像,尽管不像许多描述那样令人毛骨悚然。
>
> 最新开源的 Stable Diffusion XL 基本模型在更高分辨率下进行了训练,质量上的差异非常明显,尤其是在整体一致性和细节方面,同时减少了图像中的解剖不规则性。图像是使用 Linux 和英伟达 A100 80GB GPU 在本地制作的,从最初的文本提示开始,使用 img2img、修复和放大功能进行完善。
#### Linux 内核 6.5
当然,[Linux 内核 6.5][7] 还能为硬件带来更好的兼容性、新代组件和其他改进。
![][8]
#### 其他改进
主要的应用程序升级包括 [Firefox 118][9]、Celluloid 0.25、Evolution 3.50 和 LibreOffice 7.6.1。
所有这些都将改善用户体验。
### 📥 获取 Ubuntu MATE 23.10
你可以从 [官方网站][10] 或 [Ubuntu 仓库][11] 下载 Ubuntu MATE 23.10 ISO。
> **[Ubuntu MATE 23.10][12]**
如果你是现有用户并希望升级,请按照 [发布说明][13] 中的官方说明进行操作。
*(题图:[Ubuntu Mate](https://ubuntu-mate.org/blog/ubuntu-mate-mantic-minotaur-release-notes/)*
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/ubuntu-mate-23-10/
作者:[Ankush Das][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/ankush/
[b]: https://github.com/lujun9972
[1]: https://linux.cn/article-15119-1.html
[2]: https://news.itsfoss.com/content/images/2023/10/ubuntu-mate-23-10.jpg
[3]: https://news.itsfoss.com/ubuntu-23-10/
[5]: https://news.itsfoss.com/content/images/2023/10/ubuntu-mate-23-10-new-wall.jpg
[6]: https://ubuntu.com/blog/into-the-labyrinth
[7]: https://news.itsfoss.com/linux-kernel-6-5-release/
[8]: https://news.itsfoss.com/content/images/2023/10/ubuntu-mate-23-10-neofetch.jpg
[9]: https://news.itsfoss.com/firefox-118-release/
[10]: https://ubuntu-mate.org/download/
[11]: https://cdimage.ubuntu.com/ubuntu-mate/releases/23.10/
[12]: https://cdimage.ubuntu.com/ubuntu-mate/releases/23.10/release/
[13]: https://ubuntu-mate.org/blog/ubuntu-mate-lunar-lobster-release-notes/
[0]: https://img.linux.net.cn/data/attachment/album/202310/19/160226cp45xfznfzw2xjj0.jpg

View File

@@ -0,0 +1,139 @@
[#]: subject: "Ubuntu Studio 23.10 Release Aims for Effortless Audio Production"
[#]: via: "https://news.itsfoss.com/ubuntu-studio-23-10/"
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16290-1.html"
Ubuntu Studio 23.10:致力于简化音频制作
=====
![][0]
> 创作者们Ubuntu Studio 23.10 来了!它包含了你开始创作旅程所需的一切。
Ubuntu 的新版本如同雨后的春笋般持续涌现!☔ 其中一款新版本就是 Ubuntu Studio 23.10,它带来了一些实用的更新和改进。
下面就让我们详细了解一下它。
> 💡 Ubuntu Studio 23.10 将会提供**九个月**的支持,直到 **2024 年 7 月**。
### 🆕 Ubuntu Studio 23.04: 新增了哪些特性?
![][1]
对于那些刚接触的朋友,[Ubuntu Studio][2] 是针对 **内容创作者**特制的官方 [Ubuntu 发行版][3]。
Ubuntu Studio 预装了许多在音频/视频制作、摄影、网络直播、图形设计等多种领域中使用的应用程序。
Ubuntu Studio 的这个版本基于 Ubuntu 23.10 发行版,进行了一些关键性的改进:
* KDE Plasma 的升级提升
* 全新壁纸
* 更新的应用套件
* Linux 内核升级到 6.5 版本
* 安装程序中加入的音频配置工具
#### KDE Plasma 的升级提升
![][4]
Ubuntu Studio 23.10 带有新的 **KDE Plasma 5.27.8** 桌面环境,以及新的翻译、各种修复,和三个关键的问题修复:
- 系统设置搜索栏中移除了软连字符;
- Powerdevil 默认情况下不会在虚拟机中自动挂起;
- 提升了在 X11 上运行的 KRunner 启动速度。
你可以通过查阅 [发布说明][5],来了解所有技术性的变动。
#### Ubuntu Studio 的音频配置
Ubuntu Studio 的安装工具现在包括了一个音频配置向导,让系统级音频设置更为方便。
![][6]
你可以根据自己的需求,调整音频的延迟和采样率。
![][7]
这个功能对于使用 Ubuntu Studio 进行音频制作的创作者会特别实用。
#### 全新壁纸
![][8]
新版本的 Ubuntu Studio 引入了一款新壁纸,名为 “Ubuntu Studio Mantic Minotaur”其设计习得了 Ubuntu 23.10 默认壁纸 “Mantic Minotaur” 的灵感。
我个人很喜欢它的暗色调设计 🤓
#### 更新的应用套件
![][9]
Ubuntu Studio 23.10 提供了 **一系列更新的应用** ,其中一些重要的应用包括:
* Ardour 7.5.0
* Blender 3.6.2
* Inkscape 1.2.2
* Audacity 3.3.3
* Darktable 4.2.1
* Kdenlive 23.08.1
* OBS Studio 29.1.3
#### Linux 内核升级至 6.5 版本
![][10]
所有的这些,全都运行在**Linux 内核 6.5**之上,让 Ubuntu Studio 23.10 能够支持如 **USB4/Wi-Fi 7 的初始支持**和**AMD 的各种优化**等。
#### 🛠️ 其他的改进
此外,还有一些你应该了解的改变:
* 由于引入了 0.3.79 版本,提升了 PipeWire 的性能。
* Ubuntu Studio 的安装程序已去掉了 Backports PPA 的选项。
* 将 Carla 升级到了 2.5.6版。
你可以访问 [官方发布说明][12] 以了解关于升级和技术变动的更多细节。
### 📥 下载 Ubuntu Studio 23.10
你可以在 [官方网站][13] 或者 Ubuntu 的 [镜像仓库][14] 中下载到最新的Ubuntu Studio版本。
> **[Ubuntu Studio 23.10][15]**
💬 你以前用过 Ubuntu Studio 吗?你的使用体验如何?
*(题图:[Ubuntu](https://ubuntu.com/blog/into-the-labyrinth)*
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/ubuntu-studio-23-10/
作者:[Sourav Rudra][a]
选题:[lujun9972][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/sourav/
[b]: https://github.com/lujun9972
[1]: https://news.itsfoss.com/content/images/2023/10/Ubuntu_Studio_23.10_1.jpg
[2]: https://ubuntustudio.org/
[3]: https://ubuntu.com/desktop/flavours
[4]: https://news.itsfoss.com/content/images/2023/10/Ubuntu_Studio_23.10_2.jpg
[5]: https://kde.org/announcements/plasma/5/5.27.8/
[6]: https://news.itsfoss.com/content/images/2023/10/ubuntu-studio-audio-setup.png
[7]: https://news.itsfoss.com/content/images/2023/10/ubuntu-studio-sample-rate.png
[8]: https://news.itsfoss.com/content/images/2023/10/Ubuntu_Studio_23.10_3.jpg
[9]: https://news.itsfoss.com/content/images/2023/10/Ubuntu_Studio_23.10_4.jpg
[10]: https://news.itsfoss.com/content/images/2023/10/Ubuntu_Studio_23.10_5.jpg
[11]: https://news.itsfoss.com/content/images/size/w256h256/2022/08/android-chrome-192x192.png
[12]: https://ubuntustudio.org/ubuntu-studio-23-10-release-notes/
[13]: https://ubuntustudio.org/download/
[14]: https://cdimage.ubuntu.com/ubuntustudio/releases/23.10/
[15]: https://cdimage.ubuntu.com/ubuntustudio/releases/23.10/release/
[0]: https://img.linux.net.cn/data/attachment/album/202310/17/091121v09u1105s09olbbm.jpg

View File

@@ -0,0 +1,119 @@
[#]: subject: "Xubuntu 23.10 Release is Here With Subtle Improvements"
[#]: via: "https://news.itsfoss.com/xubuntu-23-10/"
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16282-1.html"
Xubuntu 23.10 发布,提供细微但重要的改进
======
![][0]
> Xubuntu 23.10 版本包括了问题修复,更新了内核,同时一些应用也进行了升级,使得它成为一个稳定而不错的升级选择。
[Xubuntu 23.04][1] 的生命周期即将结束,新的升级版本正好到来。
Xubuntu 23.10 这个发布版本对其前身进行了进一步的改良,下面我们来看看它提供了哪些新鲜内容。
> 💡 请注意Xubuntu 23.10 将持续得到**九个月的支持**,一直到 2024 年 7 月。
### 🆕 Xubuntu 23.10:有什么新内容?
![][2]
这个版本的 Xubuntu 基于 **Ubuntu 23.10 “Mantic Minotaur”** 版本,带来了许多崭新的改进。部分重要的亮点包括:
* 对 Xfce 的优化
* 应用程序的更新
* Linux 内核 6.5
#### 对 Xfce 的优化
![][3]
Xubuntu 23.10 搭载了与之前相同的 [Xfce 4.18][4] 桌面环境。但在此基础上,它针对一些如 **garcon**、**libxfce4ui**、**tumbler** 和 **xfconf** 之类的 Xfce 库进行了**多项问题修复**。
此外,对于音频设备处理和媒体播放器,**Xfce PulseAudio 插件** 也进行了大量的修复。
在上一版本中,用户曾遇到的关于 **Xfce 电源管理器****Xfce 屏幕保护程序** 的一些问题,也在这个版本中得到了修复。
最后, **Xfce 截屏** 新增了对 **AVIF 和 JPEG XL 文件格式的支持**
> **[Xfce 4.18 版本发布:令人印象深刻][5]**
#### 应用程序的更新
在 Xubuntu 23.10 版本中,有了**一整套更新的应用程序**,其中大部分来源于 XFCE、GNOME 和 MATE 的核心应用的更新。
其中一些显著的更新包括:
* Catfish 4.16.4
* Mousepad 0.6.1
* Thunar 文件管理器 4.18.7
* MATE 日历 1.26.0
* GNOME 软件 45
* Rhythmbox 3.4.7
* GIMP 2.10.34
#### Linux 内核 6.5
![][6]
Xubuntu 23.10 由最新发布的 [Linux 内核 6.5][7] 进行驱动,这样便可以支持最新的硬件,比如 **USB4、Wi-Fi 7** ,并且提供了 **良好的 Rust 环境支持**、**AMD FreeSync 视频** 等。
> [][6A]
#### 🛠️ 其他的改进
除了以上提到的内容,还有一些值得一提的变化:
* 引入了 [Greybird 3.23.3][8],以便得到更好的 GTK 3/4 支持。
* 在 PipeWire 环境下加强了对蓝牙耳机的支持。
* Firefox、Thunderbird 以及其他新的应用程序中现在使用的是彩色表情符。
* 刷新了 [elementary-xfce 0.18][9] 主题,带给你全新的桌面图标体验。
* 引入了 Ristretto 0.13.1,给 Xubuntu 的默认图像查看器添加了打印支持功能。
你可以查阅 [官方发布说明][10] 来更深入地了解 Xubuntu 23.10 发行版特性。
### 📥 如何下载 Xubuntu 23.10
为了获取 Xubuntu 的最新发布版,你可以访问 [官方网站][11] 或者 Ubuntu 的 [镜像仓库][12]。
> **[Xubuntu 23.10][13]**
对于现有的用户们,你们可以参阅 [官方升级指南][14] 进行版本升级。
*(题图:[Ubuntu](https://ubuntu.com/blog/into-the-labyrinth)*
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/xubuntu-23-10/
作者:[Sourav Rudra][a]
选题:[lujun9972][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/sourav/
[b]: https://github.com/lujun9972
[1]: https://news.itsfoss.com/xubuntu-23-04/
[2]: https://news.itsfoss.com/content/images/2023/10/Xubuntu_23.10_1.png
[3]: https://news.itsfoss.com/content/images/2023/10/Xubuntu_23.10_2.png
[4]: https://news.itsfoss.com/xfce-4-18-release/
[5]: https://linux.cn/article-15355-1.html
[6]: https://news.itsfoss.com/content/images/2023/10/Xubuntu_23.10_3.png
[6A]: https://linux.cn/article-16140-1.html
[7]: https://news.itsfoss.com/linux-kernel-6-5-release/
[8]: https://github.com/shimmerproject/Greybird/releases/tag/v3.23.3
[9]: https://github.com/shimmerproject/elementary-xfce/releases/tag/v0.18
[10]: https://wiki.xubuntu.org/releases/23.10/release-notes
[11]: https://xubuntu.org/download/
[12]: https://cdimage.ubuntu.com/xubuntu/releases/23.10/
[13]: https://cdimage.ubuntu.com/xubuntu/releases/23.10/release/
[14]: https://docs.xubuntu.org/latest/user/C/migrating-upgrading.html
[0]: https://img.linux.net.cn/data/attachment/album/202310/14/113232y7wgzcj565q57cjl.jpg

View File

@@ -0,0 +1,85 @@
[#]: subject: "Focusrite Extends Help to Linux Developer to Enable Driver Support"
[#]: via: "https://news.itsfoss.com/focusrite-linux/"
[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "geekpi"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16323-1.html"
Focusrite 帮助 Linux 开发人员提供驱动程序支持
======
![][0]
> Focusrite 正在大力支持 Linux 。
尽管 Linux 作为桌面平台正在快速发展,但与 Windows 和 macOS 相比,它仍然是少数音乐制作人的选择。一个主要原因是缺乏一些 DAW 和硬件制造商的官方支持。
幸运的是,随着大牌企业涉足 Linux这一切都在改变。好奇么 嗯,最近,[PreSonus 宣布其 Studio One DAW 支持 Linux][1]。
现在,[PreSonus][3] 的直接竞争对手之一 [Focusrite][2] 也加入了进来🤩,他们也生产音频接口和其他专业音频设备。
如果你是音乐制作人或音乐爱好者,你应该知道这些名字往往是彼此的代名词。虽然我目前使用 PreSonus 而不是 Focusrite但这两家公司及其产品对于大众市场来说都很重要。
### Focusrite 对 Linux 支持的承诺
**Geoffrey Bennett** 是 [LinuxMusicians][5] 论坛的用户,他因致力于为流行的 Focusrite 音频接口Scarlett 第二代和第三代)提供 Linux 支持而闻名。
当然,这是一项艰巨的非官方任务。
为了更进一步,他最近发起了一项筹款活动,以获得 Focusrite 的最新音频接口,即 [Scarlett 第四代][6]。
除此之外,他的目标是购买 Focusrite 的播客设备。
![][7]
筹款活动取得成功的同时,**也得到了 Focusrite 的关注****他们提供了大量资金**来帮助他购买最新的音频接口。
**Focusrite 还表示愿意在产品发布前,向他寄送他没有的设备以及未来的产品。**
最重要的是,他们提到了他们的**工程团队如何帮助他改进开发工作**。
> 虽然我之前一直很难与 Focusrite 的工程师或管理层取得联系,但这次筹款活动获得热烈反响的消息传到了 Focusrite 的高层。考虑到 Linux 音频的小众性质,我一直控制着自己的期望值,但这超出了我的想象。
>
> 我刚刚与他们通了电话,除了提供硬件之外,他们还询问支持开发的其他方式。
>
> Focusrite 不仅主动提出给我寄来我收藏中没有的设备,而且还提议,对于未来的产品发布,他们将尽最大努力提前向我发送设备。这意味着 Linux 支持可以从产品发布之日起就做好准备!
>
> 此外,他们正在讨论他们的工程团队如何更好地帮助我简化开发流程,并消除大部分猜测。
>
> —— Geoffrey 来自 [LinuxMusicians][8]
因此Focusrite 希望确保 Linux 社区能够以更好的体验使用他们的产品。也就是说,间接为 Linux 平台提供官方支持。
这是个大新闻!
这两家大型音频制造商**也应该会说服其他软件和硬件公司**。无论是对驱动程序的官方支持,还是对客户的故障排除支持,任何方式都是可行的。
对 Linux 平台的任何关注都将有助于改善 Linux 音频生态系统。
如果更多的音频公司添加了 Linux 支持,音频专业人士就不必被锁定在专有平台上,也不必支付许可证费用来获得操作系统。
💬我对未来充满希望!你怎么看呢?
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/focusrite-linux/
作者:[Ankush Das][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/ankush/
[b]: https://github.com/lujun9972
[1]: https://linux.cn/article-16254-1.html
[2]: https://focusrite.com/
[3]: https://www.presonus.com/
[5]: https://linuxmusicians.com/
[6]: https://focusrite.com/scarlett/4th-generation
[7]: https://news.itsfoss.com/content/images/2023/10/go-fund-me-focusrite.jpg
[8]: https://linuxmusicians.com/viewtopic.php?t=26173&start=15
[0]: https://img.linux.net.cn/data/attachment/album/202310/27/231035gjnehjvraytiwtbw.jpg

View File

@@ -0,0 +1,211 @@
[#]: subject: "Install and Use Nix Package Manager on non-Nix OS like Ubuntu"
[#]: via: "https://itsfoss.com/ubuntu-install-nix-package-manager/"
[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "geekpi"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16307-1.html"
在 Ubuntu 等非 Nix 操作系统上安装和使用 Nix 包管理器
======
![][0]
> Nix 软件包管理器可以安装在任何 Linux 发行版上。具体方法如下。
[人们喜欢使用不可变的 NixOS][1] 的原因之一是它的 Nix 包管理器。
它有超过 80,000 个软件包,这可能与 Debian 软件包的数量相差比较大,但仍然令人印象深刻。
好处是你不必仅仅为了包管理器而 [安装 NixOS][2]。与 [Homebrew][3] 和 Rust 的 [Cargo 包管理器][4] 一样,你可以在当前发行版中使用 Nix 包管理器。
为什么要这么做?因为有时,你可能会发现仅以 Nix 打包格式提供的新应用。这种情况很少见,但有可能。
在本教程中,我将引导你完成以下内容:
* 安装 Nix 包管理器
* 搜索并安装包
* 尝试/测试软件包而不安装它们
* 更新包
* 删除包
### 在其他 Linux 发行版上安装 Nix 包管理器
Nix 包管理器有两种安装方式:全局安装和本地安装。
> 📋 全局安装意味着系统上的每个可用用户都可以访问 nix 包管理器,而本地安装仅适用于当前用户。[Nix 官方文档][5] 建议你使用全局安装。
#### 全局安装
如果你想全局安装 Nix 包管理器,那么,你需要执行以下命令:
````
sh <(curl -L https://nixos.org/nix/install) --daemon
````
执行上述命令后,需要输入 `y` 键并按回车键:
![][6]
完成后,关闭当前终端,因为它不会在当前终端会话上运行。
#### 本地安装
如果你更喜欢本地安装并且不想每次都使用 `sudo`,则执行以下命令:
````
sh <(curl -L https://nixos.org/nix/install) --no-daemon
````
输入 `y` 并在要求确认时按回车键。
完成后,关闭当前终端会话并启动一个新终端会话以使用 Nix 包管理器。
### 搜索并安装包
安装 Nix 包管理器后,下一步是搜索包。
首先,[访问 Nix 搜索的官方页面][7] 并输入你要安装的软件包的名称。
从给定的描述中,你可以找到所需的软件包,然后选择 `nix-env` 进行永久安装。
在这里,你可以添加一些额外的关键字以获得更好的搜索结果。例如,在这里,我搜索 “Firefox browser”
![][8]
我上面提到的最后一步(“复制命令”)什么也不做,只是为你提供了一个用于安装的命令。
现在,你所要做的就是在终端中执行该命令。
就我而言,它给了我以下命令来安装 Firefox
````
nix-env -iA nixpkgs.firefox
````
完成后,你可以使用以下命令列出已安装的软件包:
````
nix-env -q
````
![][9]
### 使用包而不安装它们
到目前为止,这是 Nix 包管理器的最佳功能,因为你可以使用/测试包甚至不用安装它!
为此,你可以使用 Nix Shell它允许你将交互式 Shell 与指定的包一起使用,关闭后,你将无法再访问该包。
很酷,对吧?
要使用 nix-shell 访问你喜欢的软件包,请使用以下命令语法:
````
nix-shell -p <package_name>
````
例如,我想使用一次 `neofetch`,所以我使用了以下命令:
````
nix-shell -p neofetch
````
![][10]
要退出 Shell你所要做的就是执行 `exit` 命令:
````
exit
````
### 使用 Nix 包管理器更新包
使用 Nix 包管理器更新包非常简单。
要更新软件包,首先,你需要使用以下命令更新频道:
````
nix-channel --update
````
接下来,你可以通过试运行更新命令来列出过时的软件包:
````
nix-env --upgrade --dry-run
````
![][11]
就我而言Firefox 浏览器已经过时,需要更新!
要更新单个包,请使用以下命令:
````
nix-env -u <Package_name>
````
如果你想一次更新所有软件包,请使用以下命令:
````
nix-env -u
````
### 使用 Nix 包管理器删除包
要删除软件包,你只需按以下方式执行 `nix-env` 命令即可:
````
nix-env --uninstall [package_name]
````
例如,如果我想删除 Firefox 浏览器,那么,我将使用以下命令:
````
nix-env --uninstall firefox
````
![][12]
### 通过 NixOS 释放其全部潜力
如果你喜欢 Nix 包管理器背后的想法,请相信我,你一定会喜欢 [NixOS][13]。
仅使用一个配置文件来复制整个系统就足以说服我切换到 NixOS但还有更多原因
我喜欢 NixOS。以至于我写了整个系列这样你就不必阅读文档基础知识
> **[NixOS 系列][1]**
我希望你能像我一样喜欢使用它。
*题图MJ/da586165-eadb-4ed7-9a0b-9c92903344d5*
--------------------------------------------------------------------------------
via: https://itsfoss.com/ubuntu-install-nix-package-manager/
作者:[Sagar Sharma][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/sagar/
[b]: https://github.com/lujun9972
[1]: https://linux.cn/article-15606-1.html
[2]: https://linux.cn/article-15624-1.html
[3]: https://linux.cn/article-14065-1.html
[4]: https://linux.cn/article-13938-1.html
[5]: https://nixos.org/learn
[6]: https://itsfoss.com/content/images/2023/10/Install-nix-package-manager-globally.png
[7]: https://search.nixos.org/packages
[8]: https://itsfoss.com/content/images/2023/10/Search-packages-to-install-using-the-Nix-package-manager.png
[9]: https://itsfoss.com/content/images/2023/10/List-installed-packages-using-the-nix-package-manager.png
[10]: https://itsfoss.com/content/images/2023/10/Use-packages-wihout-installing-them-using-the-nix-package-manager.png
[11]: https://itsfoss.com/content/images/2023/10/List-outdated-packages-using-the-nix-package-manager.png
[12]: https://itsfoss.com/content/images/2023/10/Remove-packages-using-the-nix-package-manager-1.png
[13]: https://nixos.org/
[0]: https://img.linux.net.cn/data/attachment/album/202310/22/082116ket5ed87padptmbw.jpg

View File

@@ -0,0 +1,113 @@
[#]: subject: "Tor Browser 13.0 Release is an Exciting Upgrade for Privacy-Focused Users"
[#]: via: "https://news.itsfoss.com/tor-browser-13-0-release/"
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "geekpi"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16303-1.html"
Tor 浏览器 13.0 发布
======
![][0]
> 通过新的 Tor 浏览器更新提升你的私人网络体验!
Tor 浏览器是访问 [Tor 网络][1] 的流行方式之一,它一直是许多想要规避对其施加的限制的人的首选,甚至是那些注重隐私的人的首选。
当然,使用 Tor 浏览器是最简单的 [提高隐私的方法][2]。
虽然 Tor 浏览器基于 Mozilla Firefox但它也进行了一些调整。
在最新的主要更新中,让我们看看发生了什么变化。
### 🆕 Tor 浏览器 13.0:有什么新变化?
![][3]
据开发人员介绍Tor 浏览器 13.0 基于 [Firefox ESR 115][4],并带来了一年的推送到上游的修改。
过渡到较新的 Firefox 版本还**允许他们利用 [Firefox 113][5] 中引入的改进的辅助功能引擎**。
因此,使用屏幕阅读器等**辅助技术**的用户现在可以在使用 Tor 浏览器时获得**比以往更好的性能**。
此版本的亮点包括:
* 改进的 “<ruby>信封打印<rt>Letterboxing</rt></ruby>” 功能
* 更新主页
* 更新徽标
#### 改进的 “<ruby>信封打印<rt>Letterboxing</rt></ruby>” 功能
![][7]
Tor 浏览器 13.0 版本中的 “<ruby>信封打印<rt>Letterboxing</rt></ruby>” 功能得到了重要更新。
LCTT 译注:“<ruby>信封打印<rt>Letterboxing</rt></ruby>” 是一种网络浏览隐私保护技术,它通过为浏览器窗口添加白色填充(看起来像一个信封的周围),来防止网站跟踪你的浏览行为。当你改变浏览器窗口的大小时,“信封打印” 功能会在周边提供白色填充,确保窗口大小始终为特定的大众标准尺寸。这意味着即使你改变窗口大小,那些尝试通过窗口尺寸来跟踪你的网站也无法获取独特的信息。)
开发人员发现 **1000×1000 像素的默认 “信封打印” 尺寸**存在问题,许多现代网站无法正常运行,导致这些网站切换到适用于平板电脑和智能手机的布局。
有些网站甚至会显示桌面网站,但只有横向滚动条。为了解决这个问题,他们调整了**窗口的大小**,最大为 1400×900 像素。
对于最终用户来说,这意味着你无需手动调整窗口大小即可获得合适的尺寸。
他们还补充说:
> 桌面版 Tor 浏览器不应再在大屏幕上触发响应断点,并且我们的绝大多数桌面用户将看到熟悉的横向纵横比,更符合现代浏览器的要求。
>
> 通过计算,我们选择了这一特定尺寸,以便为新窗口提供更大的空间,同时又不会增加过多的桶数量。
#### 更新了主页
![][9]
Tor 浏览器主页的更新已经等了很长时间了。在此版本中,它展示了更新的徽标(更多内容见下文)以及一个新功能 —— **“洋葱化的” DuckDuckGo**,用于访问其 “.onion 站点”。
这也**与我之前提到的改进的辅助功能引擎**齐头并进,从而为屏幕阅读器和其他辅助技术的用户提供更好的支持。
他们还修复了可怕的“**红屏死亡**”错误,该错误在打开新的主页选项卡时偶尔会弹出。
#### 更新徽标
![][10]
从文章的开头你就可能已经注意到 Tor 浏览器的徽标有些不同。
实际上,**Tor 浏览器所有版本的徽标都已更新**,外观更加干净和现代。
这个熟悉的“洋葱标志”已经存在了一段时间,它是由当时的社区民意调查选出的。很高兴看到他们仍在努力改进它。
这些只是该版本的主要亮点,你可以通过 [官方发行说明][11] 了解所有技术修复和其他改进。
### 📥 下载 Tor 浏览器 13.0
此版本的 Tor 浏览器适用于 **Linux**、**Windows**、**Android、** 和 **macOS**。你可以前往[官方网站][12]获取你选择的套餐。
> **[Tor 浏览器 13.0][12]**
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/tor-browser-13-0-release/
作者:[Sourav Rudra][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/sourav/
[b]: https://github.com/lujun9972
[1]: https://en.wikipedia.org/wiki/Tor_(network)
[2]: https://itsfoss.com/improve-privacy/
[3]: https://news.itsfoss.com/content/images/2023/10/Tor_Browser_13.0_1.png
[4]: https://www.mozilla.org/en-US/firefox/115.0esr/releasenotes/
[5]: https://www.mozilla.org/en-US/firefox/113.0/releasenotes/
[7]: https://news.itsfoss.com/content/images/2023/10/Tor_Browser_13.0_2.png
[8]: https://news.itsfoss.com/content/images/2023/04/Follow-us-on-Google-News.png
[9]: https://news.itsfoss.com/content/images/2023/10/Tor_Browser_13.0_3.png
[10]: https://news.itsfoss.com/content/images/2023/10/Tor_Browser_13.0_4.png
[11]: https://blog.torproject.org/new-release-tor-browser-130/
[12]: https://www.torproject.org/download/
[0]: https://img.linux.net.cn/data/attachment/album/202310/21/055646urkd0upcknv0znv5.jpg

View File

@@ -0,0 +1,152 @@
[#]: subject: "Warehouse: A Powerhouse Tool to Manage Flatpak Apps"
[#]: via: "https://news.itsfoss.com/warehouse/"
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "geekpi"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16321-1.html"
Warehouse管理 Flatpak 应用的强大工具
======
![][0]
> 你是否使用 Flatpak 应用Warehouse 可以让你更轻松。
有一个应用,可以为你提供有关 Flatpak 应用的所有重要信息,以及管理它的工具,这不是很好吗?
这一次你很幸运!
在这次的首次尝试中,我们有一个有趣的应用程序,名为 “**Warehouse**”,**它可以帮助你管理 Flatpak 应用**。
我们以前介绍过一个类似的应用,名为 “[Flatseal][1]”,但它更侧重于管理 Flatpak 的权限。
让我们看看 Warehouse 提供了哪些功能。
### Warehouse概述 ⭐
![][2]
开发人员将其称为“**多功能工具箱**”Warehouse 可用于**管理 Flatpak 用户数据**、**查看 Flatpak 的信息**,甚至**批量管理系统上安装的 Flatpaks**。
它主要使用 **Python 语言**编写,具有以下主要特点:
* 轻松管理用户数据
* 批量操作功能
* 清除残余数据
### 初步印象 👨‍💻
我一开始是在我的 Ubuntu 系统上测试 Warehouse。从 **Flathub** 上安装它很简单。
打开后,显示了所有**已安装的 Flatpak 应用**的列表。它们**都以有序的方式排列**。
在我看来,如果它们添加了切换到网格布局的选项,会看起来更好。
![][4]
> 📋 你是否对列在 Firefox 之上的应用感到好奇?我们最近介绍过它,它是一个名为 “[Mission Center][5]” 的系统监控应用。
接下来,我**查看了 Flatpak 应用的属性**,我点击应用旁边的“信息”标志,打开了应用属性窗口。
它提供了有关应用程序的各种信息,从**名称**、**描述**、**应用 ID**,一直到**活动提交**和**安装大小**。
![][6]
类似地,我可以点击“垃圾桶”图标,要么**完全卸载 Flatpak 应用**,要么为将来重新安装**保留用户数据**,并恢复设置/内容。
![][7]
Warehouse 还具有**搜索功能**,允许你搜索特定的应用。当你安装了很多 Flatpak 应用时,这可能会很有用。
只需点击应用程序左上角的**放大镜**图标即可开始搜索。
![][8]
你还可以**设置过滤器**,以**应用甚至运行时(系统完成各种任务所需的)进行排序**。
点击应用程序左上角的“漏斗”图标以开始筛选。
![][9]
然后,我查看了**批量操作功能**。我首先点击了应用右上方的“勾号”标志。
然后,我就可以选择多个应用,执行**复制信息**、**删除应用数据**和**卸载它们**等操作。
应用程序右下角的三个小按钮可以方便地执行上述操作。
![][10]
之后,我进入菜单,其中有一些重要选项。
![][11]
第一个选项“<ruby>从文件安装<rt>Install from file</rt></ruby>”允许我使用 `.flatpakref` 文件安装 Flatpak 应用。
![][12]
在安装过程中,它问我是要为特定用户安装,还是要为使用系统的所有人安装。我选择了后者。
![][13]
随后,我查看了“<ruby>管理残余数据<rt>Manage Leftover Data</rt></ruby>”选项。它向我显示了一个旧的 Flatpak 应用留下了多少数据。
我可以选择通过“<ruby>安装<rt>Install</rt></ruby>”选项重新安装应用并恢复数据,也可以使用“<ruby>垃圾桶<rt>Trash</rt></ruby>”选项彻底清除系统中的任何痕迹。有时,残留数据会占用大量空间。
![][14]
如果你经常安装/删除应用,那么你的系统中可能会有很多剩余数据。
如果你想管理 Flatpak 仓库,可以前往“<ruby>管理远程仓库<rt>Manage Remotes</rt></ruby>”选项,该选项允许你添加或删除它们。
![][15]
虽然你可以在 Fedora 和其他一些发行版的软件中心完成这项工作,但在一个应用中就能获得所有基本功能,这将是一种无缝体验。
最后,你还可以使用大量的“**键盘快捷键**”,通过键盘快速浏览应用的所有功能。
![][16]
### 📥 下载 Warehouse
你可以前往 [Flathub 商店][17]下载最新版本。
> **[WarehouseFlathub][17]**
你还可以访问其 [GitHub 仓库][18] 查看源代码。
你对 Warehouse 应用有何看法?请在下面的评论中分享你的想法。
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/warehouse/
作者:[Sourav Rudra][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/sourav/
[b]: https://github.com/lujun9972
[1]: https://itsfoss.com/flatseal/
[2]: https://news.itsfoss.com/content/images/2023/10/Warehouse_1.png
[3]: https://news.itsfoss.com/content/images/2023/04/Follow-us-on-Google-News.png
[4]: https://news.itsfoss.com/content/images/2023/10/Warehouse_2a.png
[5]: https://news.itsfoss.com/mission-center/
[6]: https://news.itsfoss.com/content/images/2023/10/Warehouse_2b.png
[7]: https://news.itsfoss.com/content/images/2023/10/Warehouse_2c.png
[8]: https://news.itsfoss.com/content/images/2023/10/Warehouse_3.png
[9]: https://news.itsfoss.com/content/images/2023/10/Warehouse_4.png
[10]: https://news.itsfoss.com/content/images/2023/10/Warehouse_5.png
[11]: https://news.itsfoss.com/content/images/2023/10/Warehouse_6.png
[12]: https://news.itsfoss.com/content/images/2023/10/Warehouse_7a.png
[13]: https://news.itsfoss.com/content/images/2023/10/Warehouse_7b.png
[14]: https://news.itsfoss.com/content/images/2023/10/Warehouse_8.png
[15]: https://news.itsfoss.com/content/images/2023/10/Warehouse_9.png
[16]: https://news.itsfoss.com/content/images/2023/10/Warehouse_10.png
[17]: https://flathub.org/apps/io.github.flattool.Warehouse
[18]: https://github.com/flattool/warehouse
[0]: https://img.linux.net.cn/data/attachment/album/202310/26/224157oonzwjd1vp0d2p85.jpg

View File

@@ -0,0 +1,95 @@
[#]: subject: "An Interesting Bluetooth App for Linux Just Appeared!"
[#]: via: "https://news.itsfoss.com/bluetooth-app-linux-overskride/"
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "geekpi"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16315-1.html"
Overskride刚刚出现的一款有趣的 Linux 蓝牙应用!
======
![][0]
> 通过这个全新的应用可以实现所有蓝牙功能!
一款适用于 Linux 的新应用已经出现,它可能是满足你所有蓝牙需求的一站式应用。
这款名为 “**Overskride**” 的开源应用首次发布。尽管它还处于开发阶段,但已经提供了一些不错的功能。
请允许我带你看一下。
### Overskride可以期待什么
![][1]
Overskride 将会吸引 Rust 爱好者,因为它**主要是用 Rust 语言**编写的,带有 **GTK4/libadwaita 风格**
根据开发人员的说法,它是一个**简单的蓝牙和 Obex 客户端** _(未来计划)_,无论使用什么桌面环境或窗口管理器都可以工作。
一些主要功能包括:
* 信任/阻止设备。
* 能够发送/接收文件。
* 设置连接超时时间。
* 支持配置适配器。
查看上面的截图,你可以看到自定义蓝牙设备和连接的所有基本选项,包括适配器名称。
当然,考虑到这是该应用的第一次发布,人们不应该抱有太高的期望。因此,还有改进的空间。
以下是 **Overskride 的一些预览**,以查看它提供的功能。
我在 Ubuntu 22.04 LTS 和 GNOME 42.9 上使用提供的 Flatpak 包进行安装。在此安装上运行似乎没有任何问题。
Overskride 能够检测到我的智能手机,并提供多种配置选项。
![][3]
你可以将设备添加到受信任列表或阻止列表、重命名并发送文件。
我尝试了**文件传输功能**,但在此之前,我必须使用 [Flatseal][4] 允许访问用户文件,以便它可以读取我系统上的文件。
![][5]
我在手机上接受文件传输后,传输开始。速度还可以,文件确实完整地到达那里,没有任何问题。
![][6]
我必须说,在其首次发布时,开发人员为我们提供了一个有用的实用程序。我很高兴看到其未来版本将提供什么样的改进。
一位 Reddit 用户 [询问][7] 是否有任何计划**支持显示无线耳机的电池百分比**。对此,开发人员提到这样做很棘手,因为 每个设备都遵循不同的规范,这使得这一目标更难实现。
### 📥 获得 Overskride
目前Overskride 只能通过 [GitHub 仓库][9] 以 Flatpak 软件包的形式提供。或者,你也可以从源代码开始编译。
> **[Overskride (GitHub)][10]**
我希望开发者在发布稳定版本后将其发布在 [Flathub][11] 上,以便用户可以使用。
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/bluetooth-app-linux-overskride/
作者:[Sourav Rudra][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/sourav/
[b]: https://github.com/lujun9972
[1]: https://news.itsfoss.com/content/images/2023/10/Overskride_1.png
[2]: https://news.itsfoss.com/content/images/2023/04/Follow-us-on-Google-News.png
[3]: https://news.itsfoss.com/content/images/2023/10/Overskride_2.png
[4]: https://itsfoss.com/flatseal/
[5]: https://news.itsfoss.com/content/images/2023/10/Overskride_3.png
[6]: https://news.itsfoss.com/content/images/2023/10/Overskride_4.png
[7]: https://www.reddit.com/r/gnome/comments/17a5m99/full_release_of_my_bluetooth_app_d/k5b3ybg/
[9]: https://github.com/kaii-lb/overskride
[10]: https://github.com/kaii-lb/overskride/releases/
[11]: https://flathub.org/en
[0]: https://img.linux.net.cn/data/attachment/album/202310/25/092956c1jb1bqxx8qryrju.jpg

View File

@@ -0,0 +1,80 @@
[#]: subject: "Is This The Ultimate Video Streaming App?"
[#]: via: "https://news.itsfoss.com/video-streaming-app/"
[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "geekpi"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16318-1.html"
Grayjay可能是一个终极视频流应用程序
======
![][0]
> 一款可提供源代码的应用,让视频流应用不再烦恼。你怎么看?
视频流媒体服务大多包含 DRM并限制下载离线媒体拷贝即使你拥有这些媒体。
每个平台都有自己的一套规则,这些规则对创作者来说可能公平也可能不公平。那么,对于消费者来说呢?要关注多个网络,而且平台可用的订阅选项也很混乱。
如果我们有一个**单一应用让我们访问所有这些网络的视频怎么样?**
**不仅如此:**如果我们可以拥有**离线下载**的福利以及更多功能,例如能够在同一应用中**将视频投射到电视**,而无需使用多个应用,那会怎么样?
而且,这些功能都以**应用的形式存在,其源码可以检查和修改**。听起来令人印象深刻,对吧?
嗯,这就是一个组织 [FUTO][1][**Louis Rossmann**][2] 是其成员之一)提出的。
来认识一下 “**Grayjay**”,你可以在该应用中**跨多个网络关注内容创作者,没有 DRM 和任何不必要的限制**。
### Grayjay专注于创作者
![][3]
Grayjay 是一款媒体应用,旨在让创作者控制他们拥有的视频以及任何获利机会。
该应用处于初始阶段,因此其主要目标尚未反映在该应用中。
目前,该应用是一个**提供源码**的产品,你可以在其中观看来自你喜爱的网络的视频,同时摆脱跟踪器、广告和平台的其他烦恼。
**Louis Rossmann** 是这个项目的中心,我相信这让我们值得去看一下:
> 💡 Louis 是一位颇受欢迎的 YouTuber他发布的视频涉及可维修性、反竞争行为等。他总是说出自己的想法这使我们大多数人都喜欢他。
具体大家可以观看视频,我给大家总结一下,节省大家的时间:
* Grayjay 的目标是成为 [Newpipe][4] 和 [YouTube ReVanced][5] 等应用的**更好替代品**。
* 该应用**提供源码**,它允许你查看源代码,根据你的要求制作你自己的版本(但不能用于商业用途)。
* 该应用**不是免费的**,其商业模式将用户视为客户,而不是产品。然而,如果没有任何 DRM该应用最终将为你提供无限的免费试用期。
* 虽然 Louis 将其称为“开源”以让大多数人理解,但它并不具有你通常期望的标准许可证。他们选择使用非标准许可证,以便能够阻止该应用的恶意重新分发。
你可以在其 [GitLab 页面][6] 及其 [官方网站][7] 上仔细查看它。
> **[Grayjay][7]**
目前仅适用于安卓。考虑到它仍在开发中,你可以决定安装 APK 来尝试一下。
💬 该应用提供了源代码Louis 提到它可以针对个人使用场景重新分发。你对 Grayjay 有何看法? 分享你的意见。
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/video-streaming-app/
作者:[Ankush Das][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/ankush/
[b]: https://github.com/lujun9972
[1]: https://futo.org/
[2]: https://www.youtube.com/@rossmanngroup
[3]: https://news.itsfoss.com/content/images/2023/10/gray-jay.jpg
[4]: https://newpipe.net/
[5]: https://revanced.app/
[6]: https://gitlab.futo.org/videostreaming/grayjay
[7]: https://grayjay.app/
[0]: https://img.linux.net.cn/data/attachment/album/202310/26/115233ydzdt8kedtkkt7ti.jpg

View File

@@ -0,0 +1,97 @@
[#]: subject: "Geany 2.0 Release Makes it a More Versatile Text Editor and IDE"
[#]: via: "https://news.itsfoss.com/geany-2-0/"
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "geekpi"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16327-1.html"
Geany 2.0 发布使其成为更通用的文本编辑器和 IDE
======
![][0]
> Geany 2.0 带来了新的文件类型和其他改进。
[Geany][1] 被认为是 [Linux 上最好的 Python IDE][2] 之一,它是**一个基于 GTK3 工具包的开源、轻量级 IDE**。
考虑到 Geany 的功能集对各种用户的吸引力,它也可以算作 [Linux 上 Notepad++ 的替代品][3]之一。
现在,新版本已以 “**Geany 2.0**” 的形式推出,提供了许多改进。
让我们看看有什么。
### 🆕 Geany 2.0:有什么新变化?
![][4]
Geany 版本的亮点可以分为两个不同的部分,主要涵盖界面和对文件类型的更好支持。
#### 文件类型升级
通过更新 [基本类型][5],改进了 **Kotlin** 的文件类型配置。同样,对于 **Python** ,针对 Python 3 重写了标准库标签创建脚本,并改进了对 **ctags** 文件格式的支持。
最后Geany 添加了对 [AutoIt][6] 和 [GDScript][7] 等新文件类型的**支持,并更新了 **Nim****PHP** 的文件类型配置,以解决一些长期存在的问题。
#### 界面改进
![][8]
Geany 2.0 在文档列表的侧边栏中提供了**新的树视图**。它是默认启用的,因此你无需执行任何操作。
当你有大量单独的文件需要检查时,它非常实用。你还可以折叠特定文件夹以最大程度地减少混乱。
![][9]
**编译器消息现在使用深色主题友好的颜色**,以便你可以轻松阅读消息。这在深夜编码时应该很有帮助。
此外,**一个新的确认对话框**添加到整个会话的“搜索和替换”功能中,并且**添加了一个选项以在符号树中显示符号**,而无需类别组。
#### 🛠️ 其他变化
除了上述内容之外,还有一些值得注意的变化:
* Geany 现在需要 GTK 3.24。
* 你现在可以滚动文档选项卡。
* 更新了多种语言的翻译。
* 修复了文件类型更改时的关键词着色问题。
* 现在默认启用“更改历史记录”功能。
有关此版本的更多详细信息,你可以浏览[官方发行说明][10]。
### 📥 下载 Geany 2.0
由于它是 **跨平台 IDE**Geany 2.0 可用于 **Linux**、**Windows** 和 **macOS**。你可以前往 [Flathub 商店][11]或其 [官方网站][12]下载你选择的包。
> **[Geany][12]**
如果你对源代码感兴趣,你还可以访问其 [GitHub 仓库][13]。
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/geany-2-0/
作者:[Sourav Rudra][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/sourav/
[b]: https://github.com/lujun9972
[1]: https://www.geany.org/
[2]: https://itsfoss.com/best-python-ides-linux/
[3]: https://itsfoss.com/notepad-alternatives-for-linux/
[4]: https://news.itsfoss.com/content/images/2023/10/Geany_2.0_1.png
[5]: https://kotlinlang.org/docs/basic-types.html
[6]: https://en.wikipedia.org/wiki/AutoIt
[7]: https://docs.godotengine.org/en/stable/tutorials/scripting/gdscript/index.html
[8]: https://news.itsfoss.com/content/images/2023/10/Geany_2.0_2.png
[9]: https://news.itsfoss.com/content/images/2023/10/Geany_2.0_3.png
[10]: https://www.geany.org/documentation/releasenotes/
[11]: https://flathub.org/apps/org.geany.Geany
[12]: https://www.geany.org/download/releases/
[13]: https://github.com/geany/geany
[0]: https://img.linux.net.cn/data/attachment/album/202310/29/171811kqqcqggcg2h517go.jpg

View File

@@ -0,0 +1,192 @@
[#]: subject: "Some miscellaneous git facts"
[#]: via: "https://jvns.ca/blog/2023/10/20/some-miscellaneous-git-facts/"
[#]: author: "Julia Evans https://jvns.ca/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "KaguyaQiang"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16316-1.html"
一些被忽略的 Git 知识
======
![][0]
我一直在慢慢地撰写关于 Git 工作原理的文章。尽管我曾认为自己对 Git 非常了解,但像往常一样,当我尝试解释某事的时候,我又学到一些新东西。
现在回想起来,这些事情都不算太令人吃惊,但我以前并没有清楚地思考过它们。
事实是:
* “索引”、“暂存区” 和 `-cached` 是一回事
* 隐匿文件就是一堆提交
* 并非所有引用都是分支或标签
* 合并提交不是空的
下面我们来详细了解这些内容。
### “索引”、“暂存区” 和 `-cached` 是一回事
当你运行 `git add file.txt`,然后运行 `git status`,你会看到类似以下的输出:
```
$ git add content/post/2023-10-20-some-miscellaneous-git-facts.markdown
$ git status
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: content/post/2023-10-20-some-miscellaneous-git-facts.markdown
```
人们通常称这个过程为“暂存文件”或“将文件添加到暂存区”。
当你使用 `git add` 命令来暂存文件时Git 在后台将文件添加到其对象数据库(在 `.git/objects` 目录下),并更新一个名为 `.git/index` 的文件以引用新添加的文件。
Git 中的这个“暂存区”事实上有 3 种不同的名称,但它们都指的是同一个东西(即 `.git/index` 文件):
* `git diff --cached`
* `git diff --staged`
* `.git/index` 文件
我觉得我早该早点认识到这一点,但我之前并没有,所以在这里提醒一下。
### 隐匿文件就是一堆提交
当我运行 `git stash` 命令来保存更改时,我一直对这些更改究竟去了哪里感到有些困惑。事实上,当你运行 `git stash` 命令时Git 会根据你的更改创建一些提交,并用一个名为 `stash` 的引用来标记它们(在 `.git/refs/stash` 目录下)。
让我们将此博客文章隐匿起来,然后查看 `stash` 引用的日志:
```
$ git log stash --oneline
6cb983fe (refs/stash) WIP on main: c6ee55ed wip
2ff2c273 index on main: c6ee55ed wip
... some more stuff
```
现在我们可以查看提交 `2ff2c273` 以查看其包含的内容:
```
$ git show 2ff2c273 --stat
commit 2ff2c273357c94a0087104f776a8dd28ee467769
Author: Julia Evans <julia@jvns.ca>
Date: Fri Oct 20 14:49:20 2023 -0400
index on main: c6ee55ed wip
content/post/2023-10-20-some-miscellaneous-git-facts.markdown | 40 ++++++++++++++++++++++++++++++++++++++++
```
毫不意外,它包含了这篇博客文章。这很合理!
实际上,`git stash` 会创建两个独立的提交:一个是索引提交,另一个是你尚未暂存的改动提交。这让我感到很振奋,因为我一直在开发一款工具,用于快照和恢复 Git 仓库的状态(也许永远不会发布),而我提出的设计与 Git 的隐匿实现非常相似,所以我对自己的选择感到满意。
显然 `stash` 中的旧提交存储在 reflog 中。
### 并非所有引用都是分支或标签
Git 文档中经常泛泛地提到 “引用”,这使得我有时觉得很困惑。就个人而言,我在 Git 中处理 “引用” 的 99% 时间是指分支或 HEAD而剩下的 1% 时间是指标签。事实上,我以前完全不知道任何不是分支、标签或 `HEAD` 的引用示例。
但现在我知道了一个例子—— `stash` 是一种引用,而它既不是分支也不是标签!所以这太酷啦!
以下是我博客的 Git 仓库中的所有引用(除了 `HEAD`
```
$ find .git/refs -type f
.git/refs/heads/main
.git/refs/remotes/origin/HEAD
.git/refs/remotes/origin/main
.git/refs/stash
```
人们在本帖回复中提到的其他一些参考资料:
- `refs/notes/*`,来自 [`git notes`][5]
- `refs/pull/123/head``refs/pull/123/head`` 用于 GitHub 拉取请求(可通过 `git fetch origin refs/pull/123/merge` 获取)
- `refs/bisect/*`,来自 `git bisect`
### 合并提交不是空的
这是一个示例 Git 仓库,其中我创建了两个分支 `x``y`,每个分支都有一个文件(`x.txt``y.txt`),然后将它们合并。让我们看看合并提交。
```
$ git log --oneline
96a8afb (HEAD -> y) Merge branch 'x' into y
0931e45 y
1d8bd2d (x) x
```
如果我运行 `git show 96a8afb`,合并提交看起来是“空的”:没有差异!
```
git show 96a8afb
commit 96a8afbf776c2cebccf8ec0dba7c6c765ea5d987 (HEAD -> y)
Merge: 0931e45 1d8bd2d
Author: Julia Evans <julia@jvns.ca>
Date: Fri Oct 20 14:07:00 2023 -0400
Merge branch 'x' into y
```
但是,如果我单独比较合并提交与其两个父提交之间的差异,你会发现当然**有**差异:
```
$ git diff 0931e45 96a8afb --stat
x.txt | 1 +
1 file changed, 1 insertion(+)
$ git diff 1d8bd2d 96a8afb --stat
y.txt | 1 +
1 file changed, 1 insertion(+)
```
现在回想起来,合并提交并不是实际上“空的”(它们是仓库当前状态的快照,就像任何其他提交一样),这一点似乎很明显,只是我以前从未思考为什么它们看起来为空。
显然,这些合并差异为空的原因是合并差异只显示**冲突** —— 如果我创建一个带有合并冲突的仓库(一个分支在同一文件中添加了 `x`,而另一个分支添加了 `y`),然后查看我解决冲突的合并提交,它看起来会像这样:
```
$ git show HEAD
commit 3bfe8311afa4da867426c0bf6343420217486594
Merge: 782b3d5 ac7046d
Author: Julia Evans <julia@jvns.ca>
Date: Fri Oct 20 15:29:06 2023 -0400
Merge branch 'x' into y
diff --cc file.txt
index 975fbec,587be6b..b680253
--- a/file.txt
+++ b/file.txt
@@@ -1,1 -1,1 +1,1 @@@
- y
-x
++z
```
这似乎是在告诉我,一个分支添加了 `x`,另一个分支添加了 `y`,合并提交通过将 `z` 替代冲突解决了它。但在前面的示例中,没有冲突,所以 Git 并未显示任何差异。
(感谢 Jordi 告诉我合并差异的工作原理)
### 先这样吧
些写到这里吧,也许我将在学到更多 Git 知识时撰写另一篇关于 Git 的知识的博客文章。
*题图MJ/03bfecc3-944e-47a0-a4fd-575293d2ba92*
--------------------------------------------------------------------------------
via: https://jvns.ca/blog/2023/10/20/some-miscellaneous-git-facts/
作者:[Julia Evans][a]
选题:[lujun9972][b]
译者:[KaguyaQiang][c]
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://jvns.ca/
[b]: https://github.com/lujun9972
[c]: https://github.com/KaguyaQiang
[1]: tmp.0vBZr0yeF0#the-index-staging-area-and-cached-are-all-the-same-thing
[2]: tmp.0vBZr0yeF0#the-stash-is-a-bunch-of-commits
[3]: tmp.0vBZr0yeF0#not-all-references-are-branches-or-tags
[4]: tmp.0vBZr0yeF0#merge-commits-aren-t-empty
[5]: https://tylercipriani.com/blog/2022/11/19/git-notes-gits-coolest-most-unloved-feature/
[0]: https://img.linux.net.cn/data/attachment/album/202310/25/122259mfu0uowyppuyfdyo.jpg

View File

@@ -0,0 +1,242 @@
[#]: subject: "Bitwarden vs. Proton Pass: Comparing Top Open-Source Password Managers"
[#]: via: "https://itsfoss.com/bitwarden-vs-proton-pass/"
[#]: author: "Ankush Das https://itsfoss.com/author/ankush/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16306-1.html"
Bitwarden 与 Proton Pass顶级开源密码管理器的比较
======
![][0]
> 你最钟爱哪一个开源密码管理器?
Bitwarden 和 Proton Pass 是两个杰出的开源密码管理器。
Bitwarden 已经成为一个可靠的选择,运行稳定已经超过六年了,而 Proton Pass 则是较新的参与者。
你应该选哪一个呢?是**选择已被大众信任的密码管理器还是选择由以隐私为导向的 Proton 新开发的产品**?
我一直使用 Bitwarden 和带高级特性的 Proton Pass。主要使用的是 Bitwarden但自 Proton Pass 推出后我也在试用它。
在这里,我会分享我对两者的使用体验,以及在选择密码管理器时需要了解的一些注意事项。
### 应用场景和应用程序的可用性
选用密码管理器时,应用程序的可用情况和你的使用场景起着重要角色。
你需要提些问题给自己:
* 我在哪些地方(如桌面、移动设备或网页浏览器)需要密码管理器?
* 它有提供哪些额外功能?
* 是否坚持使用一个服务满足多种功能需求?
我会在文章的后半部分详细阐述这些功能特性。但首先,你需要确定你想在哪里使用密码管理器,以及是否希望单独保持密码管理器服务。
#### Proton Pass
在编写本文时Proton Pass 仅以 **浏览器扩展** 形式存在,同时提供给 **移动平台** 使用。
![][1]
你可以为 **Mozilla Firefox、Google Chrome、Brave、Edge** 及其它基于 Chrome 的浏览器获取扩展。你也可以选择在你的 **安卓或 iOS** 设备上安装它。
![][2]
_如果你不需要桌面应用的密码管理器,同时希望继续使用 Proton 提供的全部服务,那么 Proton Pass 是一个适合的选择。_
#### Bitwarden
反之Bitwarden 可以作为 **桌面应用**,支持在 **Windows、 macOS、Linux** 上运行。
此外,你可以为 **Google Chrome、Firefox、Vivaldi, Opera、Edge、Tor 和 DuckDuckGo for Mac** 获取相应的扩展。
![][3]
对于移动平台来说Bitwarden 支持 iPhone、Apple Watch 和安卓手机。你也可以从 F-Droid 安装到安卓设备上。
还不仅限于这些,你可以将 Bitwarden 作为一款 **网页应用**,或通过 **命令行接口** 来使用。
_如果你需要一个能够在多个平台上无缝使用的密码管理器,那么 Bitwarden 就是你完美的选择。_
### 用户体验
#### Bitwarden
Bitwarden 的用户体验简洁且低调。
以下是浏览器插件的界面样式:
![][4]
虽然用户界面随着年份的推移有所改进建,但始终忠于其核心理念,也就是 **注重简洁而不是华丽的 UI**
它不会打扰你的操作,始终提供熟悉的用户体验。
![][5]
你可以在预设的 “dark”、“light”、“solarized dark” 和 “nord” 主题间自由切换。
![][6]
无论你正在使用桌面应用、移动应用还是浏览器扩展,它都能给你带来同样的便利。
#### Proton Pass
Proton Pass 在其布局方面 **颇具特色** ,每次你访问该扩展时,它都会给出一个详细的凭证概览。
![][7]
有些用户可能更倾向于 **现代化的 UI 处理方式**,这完全看你的个人喜好。
我个人更倾向于 Bitwarden 的传统设计方式。
### 价格
你可以免费开始使用这两种服务。
Bitwarden 和 Proton Pass 在其免费计划中都不限制存储的登录凭证数量和可使用设备的数量。
如果你需要包括紧急访问、家庭共享、安全存储、二次验证、电子邮箱别名隐藏等特性,你需要升级为高级版。
![][8]
[Bitwarden][9] 的年费仅为 **10 美元**而其家庭计划_包含六个账户_的年费为 **40 美元**。这个价格对大多数人来说是**极其实惠**的。
相比之下,[Proton Pass][10] 的价格较高,其 Plus 计划的年费为 **47.88 欧元**
![][11]
不过,如果你使用了所有其他 Proton 的服务,并选择了 Proton 的无限制订阅,你就可以获得包括 **Proton Pass、Mail、VPN、Drive 和 Calendar** 在内的高级特性。
### 功能
这两个密码管理器功能都十分完善,因此每一种都能提供人们所需要的核心特性。
它们共同拥有的特性包括:
* 密码生成器
* 安全笔记
* 自动填充
* 卡片信息和登录凭证
* 便于随时获取凭证的手机应用
接下来,让我来突出一下根据我个人的使用经验,每一种服务各自独特的优点:
#### Bitwarden
Bitwarden 的一项关键功能是其 “<ruby>发送<rt>Send</rt></ruby>” 功能,它允许你发送一个文件(最大 500 MB或一段文本/便笺给任何人,这都是通过一个安全连接实现的,并且在整个过程中都实现了端到端的加密。这项功能可以在 **桌面应用、扩展插件和网页保险库** 中使用。
![][13]
你可以通过添加一段只有接收者知道的密码短语来保护这个链接。还有更多的自定义选项,例如设定链接的过期时间,或在文件被下载后销毁链接。
我不认为这是一种安全发送文件的方法,更多的是适合发送私人文件(如电子邮件附件)和文本文件。
接下来Bitwarden 提供了一个 **家庭计划**,允许你与 **其他五个账户** 共享一个订阅。Proton Pass 并没有此类服务。
我想着重强调的另一个功能是:**紧急访问**。
因为密码管理器储存了你所有的登录信息,它就是一个包含 **所有你的访问密钥** 的地方。你可以设置紧急访问功能,以方便你信任的朋友或者家庭成员在你不幸出现紧急状况后访问你的密码。
![][14]
当然,在授权用户访问你的账户之前,你可以设定一个期限以确认或拒绝这个访问请求。如果你没有采取任何行动,那么这个访问权限将会授予你的信任用户。
![][15]
> 📋 紧急联系人选项只能在 [网络保险库][16] 中访问。
**值得注意的是:** 这两种服务的密码生成器都包含历史记录,但 Bitwarden **保留历史时间更长**,而 Proton Pass 只保留一天的历史记录。
![][17]
其他功能差异包括:
* 导出为 .CSV 文件
* 调整自动填充行为
* 访问网络保险库
* 桌面应用
* 记录身份信息
对于所有列出的功能,在我使用 Bitwarden 的过程中,我都没有遇到任何重大的问题。
**我唯一注意到的问题**:有时在我的安卓手机上,自动填充功能并没有在键盘应用中作为建议显示。当然,这取决于各个智能手机制造商提供的定制安卓体验,因此不一定是 Bitwarden 特有的问题。
#### Proton Pass
如果我们从“功能数量”上进行比较Bitwarden 会占据优势。
但是作为一个以隐私为重点的工具Proton Pass 实现了密码管理器所有你需要的重要功能,甚至超越了这些。
![][19]
得益于对 [SimpleLogin][20] 的专业研究Proton Pass 支持生成电子邮件别名。
如果你不太了解SimpleLogin 是最受欢迎的 [工具之一,用于保护你的电子邮件地址][21]。
所以,当 Proton Pass 集成了这个功能后,用户可以 **便捷地创建电子邮件别名**,并同时保存登录信息。你在 Proton Pass 上注册的电子邮件将会是实际的电子邮件地址。
我希望他们提供一个设定新的目标电子邮件地址的选项,这将使 Proton Pass 的额外费用更具价值。
此外,如果你是一位使用了部分或所有 Proton 服务的用户,使用 Proton Pass 将会是一种良好的用户体验。因为你无需为其他平台切换或注册。
使用 Proton Pass 还可以获得基本的 **导入/导出,控制某些安全措施,修改密码管理器行为** 的功能。
![][22]
因此,对于 Proton 用户而言Proton Pass 可以是一种一站式的解决方案。
是的我暂时没有注意到任何关于其移动应用的问题Proton Pass 到目前为止很好。
### 你应该选择哪个?
考虑到它们的共性,这主要取决于你个人的使用体验、预算(如果选择付费),以及功能集。
对于我个人的使用,我暂时没有看到 Proton Pass 替换 Bitwarden 的需要。
然而,如果我决定购买 Proton 的无限制订阅,或是更加投入到 Proton 的各项服务中去,我可能会放弃 Bitwarden。
💬 你怎么认为呢?你认为 Proton Pass 值得额外付费吗,或者对于 Proton 的捆绑订阅你有什么看法Bitwarden 是你的最爱吗?欢迎在下方评论分享你的想法。
*题图MJ/a2f5d428-b853-4312-837c-9d66371dd5dc*
--------------------------------------------------------------------------------
via: https://itsfoss.com/bitwarden-vs-proton-pass/
作者:[Ankush Das][a]
选题:[lujun9972][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [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/content/images/2023/10/proton-pass.jpg
[2]: https://itsfoss.com/content/images/2023/10/proton-pass-ui-1.jpg
[3]: https://itsfoss.com/content/images/2023/10/bitwarden-extension-ui.jpg
[4]: https://itsfoss.com/content/images/2023/10/bitwarden-extension-firefox.jpg
[5]: https://itsfoss.com/content/images/2023/10/bitwarden-login.jpg
[6]: https://itsfoss.com/content/images/2023/10/bitwarden-theme.jpg
[7]: https://itsfoss.com/content/images/2023/10/proton-pass-ui-2.jpg
[8]: https://itsfoss.com/content/images/2023/10/bitwarden-pricing.jpg
[9]: https://bitwarden.com/pricing/
[10]: https://account.proton.me/pass/signup
[11]: https://itsfoss.com/content/images/2023/10/protonpass-pricing.jpg
[12]: https://proton.go2cloud.org/favicons/apple-touch-icon.png
[13]: https://itsfoss.com/content/images/2023/10/bitwarden-send-web-vault.jpg
[14]: https://itsfoss.com/content/images/2023/10/emergency-access-bitwarden.jpg
[15]: https://itsfoss.com/content/images/2023/10/bitwarden-emergency-invite.jpg
[16]: https://vault.bitwarden.com/
[17]: https://itsfoss.com/content/images/2023/10/bitwarden-password-generator.jpg
[18]: https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png
[19]: https://itsfoss.com/content/images/2023/10/proton-pass-password-generator.jpg
[20]: https://simplelogin.io/
[21]: https://itsfoss.com/protect-email-address/
[22]: https://itsfoss.com/content/images/2023/10/proton-pass-settings.jpg
[0]: https://img.linux.net.cn/data/attachment/album/202310/22/075735dk7c6b4raibhkutq.jpg

View File

@@ -0,0 +1,70 @@
[#]: subject: "KDE Plasma 6 Will Not Support Older Desktop Widgets"
[#]: via: "https://news.itsfoss.com/kde-plasma-6-widgets/"
[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "geekpi"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16333-1.html"
KDE Plasma 6 将不支持较旧的桌面小部件
======
![][0]
> KDE Plasma 6 进行了一些修改,需要小部件作者进行调整。开发人员,移植时间到了!
KDE Plasma 6 是备受期待的桌面环境版本升级版本。
最近,其发布时间表公布,第一个 Alpha 版本将于 **2023 年 11 月 8 日**上线,最终 **Beta 版本于 2023 年 1 月 31 日**上线,稳定版计划于 **2024 年 2 月 28 日**上线。
考虑到 KDE Plasma 5.x 系列包含多项改进和功能添加,许多用户对 KDE Plasma 6 带来的功能感到期待。
如果你好奇,我们已经介绍了 [KDE Plasma 6 的主要变化][1]。因此,它会发生重大变化也就不足为奇了。
然而,在进行重大修改后,可能会出现一些破坏体验的改动,例如无法在 Plasma 6 上运行任何旧版小部件。
### 给小部件开发者的移植通知
在 KDE 的 _Nate Graham_ 最近发表的一篇 [博客文章][2] 中,向 Plasma 5 小部件作者发出了正式的警告。
其重点指出的信息是:
> **你需要将你的小部件移植到更新的 API以使它们与 Plasma 6 兼容!**
Plasma 小部件 API 已随着即将发布的版本进行了修改。而且,为了适应这种变化并保持运行,小部件开发人员必须将他们的创作移植到更新的 API。
如果开发人员不移植小部件以使用更新的 API它将无法在 KDE Plasma 6 中运行。
当然,流行的小部件开发人员很可能会进行移植。但是,如果你使用的小部件虽然还能使用,但没有积极维护,那么你将不得不在 KDE Plasma 6 中放弃它。
他们已提供了一份 [移植指南][4] 供开发人员遵循。
你可以在 “[Plasma 6 扩展][5]” 下找到与 Plasma 6 兼容的小部件。在撰写本文时,只能看到列出了两个第三方小部件。
![][6]
因此,当你喜欢的小部件被移植到 KDE Plasma 6 并由相关开发者上传后,你就会发现它们的踪迹。
💬 你期待移植哪些 KDE 小部件? 你认为你会错过某些不再维护的小部件吗?在下面的评论中分享你的想法。
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/kde-plasma-6-widgets/
作者:[Ankush Das][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/ankush/
[b]: https://github.com/lujun9972
[1]: https://linux.cn/article-15821-1.html
[2]: https://pointieststick.com/2023/10/24/its-time-to-port-your-widgets-to-plasma-6/
[3]: https://news.itsfoss.com/content/images/2023/04/Follow-us-on-Google-News.png
[4]: https://develop.kde.org/docs/plasma/widget/porting_kf6/
[5]: https://store.kde.org/browse?cat=705&ord=latest
[6]: https://news.itsfoss.com/content/images/2023/10/kde-plasma-6-extension.jpg
[0]: https://img.linux.net.cn/data/attachment/album/202310/30/225133j5bvbvb5bzdgg4gn.jpg

View File

@@ -0,0 +1,170 @@
[#]: subject: "Moosync: A Feature-Rich Open-Source Music Player"
[#]: via: "https://news.itsfoss.com/moosync/"
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16329-1.html"
Moosync一款充满特色的开源音乐播放器
==========
![][0]
> Moosync 音乐播放器是一个适用于本地收藏与流媒体音乐的魅力十足的跨平台应用。
想听好音乐吗?🎶
首次亮相的**跨平台开源音乐播放器 Moosync** ,希望成为“欢迎全社区参与”的音乐播放器。
过去我们曾介绍过像 [Harmonoid][1] 和 [MusicPod][2] 这样的应用,但是它们**主要是专注于离线使用**。
与之不同的是Moosync 的独特之处。让我告诉你为什么。
### Moosync概况 ⭐
![][3]
Moosync 是一个主要基于 **Vue****TypeScript** 编程语言开发的音乐播放器。
Moosync **高度可定制**且支持 [YouTube][4]、[Spotify][5] 以及 [LastFM][6] 等多种服务。其关键特性包含:
* 支持显示歌词
* 无广告播放
* 支持本地音乐文件
#### 初次体验 👨‍💻
在我在我的 Ubuntu 系统上安装它之后,我开始了**快速设置向导**。
首先设定我的音乐库的位置,它将会从此处获取本地音乐文件,过程包含了许多步骤。
![][7]
然后,显示了**可以连接的服务选项**。
我**试图连接我的 Spotify 账户**,然而尽管我向 Moosync 提供了需要的信息,**操作无法成功**。不过幸运的是,**这一步并非必要**,所以我选择跳过。
![][8]
随后,它显示了空白的 “<ruby>所有歌曲<rt>All Songs</rt></ruby>” 标签页,由于目前我未连接任何服务或者本地文件,所以这里是空的。
![][9]
考虑我没有本地音乐或 Spotify 音乐,我点击了 YouTube 过滤器并**搜寻我喜欢的曲目**以填充 Moosync。
搜索功能还包括歌曲、艺术家、播放列表和专辑的过滤器。
![][11]
我可以以右键点击单曲,并添加至播放队列或者立即播放。除此之外还有其他选项,会有所不同。
![][12]
我在 Spotify 数据库进行搜索时,尝试做相同操作,但不幸的是,我**必须要登录 Spotify 才能在 Moosync 使用它** 这一计划之前被搁置。
![][13]
> 📋 如果你在寻找更好的 Spotify 支持,我建议你尝试一下 [BlackHole][14] 这个音乐应用。
而我选择继续,去**了解这个音乐播放器**。进入 “<ruby>队列<rt>Queue</rt></ruby>” 标签页或者点击应用程序右下角向上指向的箭头都可以访问它。
整齐的布局使人感到熟悉和舒适。
![][15]
在 “<ruby>所有歌曲<rt>All Songs</rt></ruby>” 标签页,我添加进 Moosync 的所有歌曲都在这,我可以**选择从列表开头播放**,或者**添加到当前队列**,甚至可以在其中**随机播放 100 首歌曲**。
![][16]
在 “<ruby>播放列表<rt>Playlists</rt></ruby>” 标签页,我保存的所有来自 YouTube 的播放清单都在这。它还提供了本地文件和 YouTube 间的排序选项。
![][17]
在 “<ruby>专辑<rt>Albums</rt></ruby>” 标签页,我保存的所有专辑都以一个整齐的网格布局排列。
![][18]
类似的,“<ruby>艺术家<rt>Artists</rt></ruby>” 标签页展示了我添加到 Moosync 库的艺术家。出于某种原因,它没有加载缩略图。
“<ruby>类别<rt>Genres</rt></ruby>” 标签页我也跳过了,因为它**似乎不能正常工作**。
![][19]
最后是 “<ruby>探索<rt>Explore</rt></ruby>” 标签页,这里显示了我**听过多少分钟的音乐**。
![][20]
此外,**你可以在 Moosync 中找到许多有用的自定义设置**来优化你的使用体验。
首先在 “<ruby>主题<rt>Theme</rt></ruby>”设置中,你可以在**三个主题**和**两种布局视图**中选择,还有选项**上传或设计自定义主题**。
![][21]
应用还有**许多扩展**,一种是**在 Discord 上开启丰富的存在支持**,另一种是**与 Soundcloud 集成**,此外还有很多。
![][22]
显然,**Moosync 支持键盘快捷方式**,你可以根据个人的喜好进行设置。
![][23]
在我写这篇文章的时候Moosync 这里和那里都有一些小瑕疵,但我认为它作为 [最适合 Linux 的音乐播放器之一][24] 的竞争者非常有竞争力。
### 📥 下载 Moosync
Moosync 适用于 **Linux****Windows** 以及 **macOS**。你可以在其[官方网站][26]下载你需要的安装包。
> **[Moosync][26]**
**对于 Linux 用户**,你也可以在 [**Flathub 商店**][27][**Snap 商店**][28] 和 [**AUR**][29] 下载 Moosync。
你还可以浏览他们的 [GitHub 仓库][30],获取源代码以及更多信息。
💬 对这款应用有何看法?欢迎在评论区告诉我。
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/moosync/
作者:[Sourav Rudra][a]
选题:[lujun9972][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/sourav/
[b]: https://github.com/lujun9972
[1]: https://itsfoss.com/harmonoid/
[2]: https://news.itsfoss.com/musicpod/
[3]: https://news.itsfoss.com/content/images/2023/10/Moosync_1.png
[4]: https://www.youtube.com/
[5]: https://open.spotify.com/
[6]: https://www.last.fm/
[7]: https://news.itsfoss.com/content/images/2023/10/Moosync_2.png
[8]: https://news.itsfoss.com/content/images/2023/10/Moosync_3.png
[9]: https://news.itsfoss.com/content/images/2023/10/Moosync_5.png
[10]: https://news.itsfoss.com/content/images/2023/04/Follow-us-on-Google-News.png
[11]: https://news.itsfoss.com/content/images/2023/10/Moosync_6.png
[12]: https://news.itsfoss.com/content/images/2023/10/Moosync_7.png
[13]: https://news.itsfoss.com/content/images/2023/10/Moosync_8.png
[14]: https://news.itsfoss.com/blackhole-music-app/
[15]: https://news.itsfoss.com/content/images/2023/10/Moosync_9.png
[16]: https://news.itsfoss.com/content/images/2023/10/Moosync_11.png
[17]: https://news.itsfoss.com/content/images/2023/10/Moosync_12-1.png
[18]: https://news.itsfoss.com/content/images/2023/10/Moosync_13.png
[19]: https://news.itsfoss.com/content/images/2023/10/Moosync_13b.png
[20]: https://news.itsfoss.com/content/images/2023/10/Moosync_15.png
[21]: https://news.itsfoss.com/content/images/2023/10/Moosync_18.png
[22]: https://news.itsfoss.com/content/images/2023/10/Moosync_19.png
[23]: https://news.itsfoss.com/content/images/2023/10/Moosync_22.png
[24]: https://itsfoss.com/best-music-players-linux/
[25]: https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png
[26]: https://moosync.app/
[27]: https://flathub.org/apps/app.moosync.moosync
[28]: https://snapcraft.io/moosync
[29]: https://aur.archlinux.org/packages/moosync
[30]: https://github.com/Moosync/Moosync
[0]: https://img.linux.net.cn/data/attachment/album/202310/30/062404f6xrcor9t6s1b9lc.jpg

View File

@@ -0,0 +1,143 @@
[#]: subject: "Linux Kernel 6.6 Arrives With Numerous Refinements"
[#]: via: "https://news.itsfoss.com/linux-kernel-6-6-release/"
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16336-1.html"
Linux 内核 6.6 版本莅临,带来诸多变化
======
![][0]
> 笔记本的支持得到了提升,服务器性能得到了改进,更多内容一一揭晓。
又到了迎接 Linux 内核新版本发布的时刻!
Linux 内核 6.6 的发布,是一次大规模更新,针对各类笔记本、网络硬件、处理器等提供了**大量全方位的改良**。
Linus Torvalds [表示][1]
> 各种各样的修复散布各处,除了针对 r8152 驱动的一些重要修复外,其它的都相当小型。下面是上周的简短日志,供所有想要一探究竟、了解更多细节的读者。日志篇幅短小,可以快速翻阅。
### 🆕 Linux 内核 6.6:都有哪些新元素?
在我们开始之前,需要提醒大家,这一次发布的是**非长期支持版本**,因此不是每个人都必须进行升级,除非你想要享受最新、最棒的版本。
总的来说,让我们来看看这次发布版本的亮点:
* 针对英特尔芯片的优化
* 对笔记本的更佳支持
* 网络改进
* AMD 芯片性能提升
#### 针对英特尔芯片的优化
![][3]
Linux 内核 6.6 版本新增了对英特尔的**神经处理单元NPU**的**支持**,这样的技术原先被称作通用处理器。
这项技术预计将于今年晚些时候,随着英特尔的“[Meteor Lake][4]”芯片亮相而首次公开登场。这些 **NPU 将被专门用于处理人工智能工作负载**
英特尔甚至已经开始对即将发布的 “**Arrow Lake**”芯片进行**NPU 支持的初步工作**了!
此外,还新增了对英特尔的 [Shadow Stack][5] 的支持,因为他们的 [控制流执行技术][6]CET被引入到了内核中。其主要目的是防止现代英特尔 CPU从 Tiger Lake 起)上的**返回导向编程ROP攻击**。
#### 对笔记本的更佳支持
![][8]
**对于惠普笔记本,现在你可以直接在 Linux 中对 BIOS 进行管理了**,这要归功于 “**HP-BIOSCFG**” 驱动的实现。
根据报道,**从 2018 年起出产的惠普笔记本应该都可以支持这个驱动程序**。
**对于联想笔记本,驱动程序已经更新,为更多的 IdeaPad 笔记本**添加了键盘背光控制**
同样,**对于华硕笔记本**,现在 [ROG Flow X16][9]2023 年款)游戏笔记本,当屏幕翻转时可以**正确地启用平板模式**。
#### 网络改进
![][10]
在网络方面Linux 内核 6.6 版本带来了对如 [Atheros QCA8081][11]、**MediaTek MT7988**、**MediaTek MT7981**[NXP TJA1120 PHY][12] 等新型硬件的**支持**。
同时,各类驱动程序也进行了升级,例如 **高通 Wi-Fi 7 ath12k驱动程序**,它现在**支持 Extremely High ThroughputEHTPHY**。
此外,针对各类 Realtekrtl8xxxuWi-Fi 芯片**启用了 AP 模式**。
关于特定于网络的变动,你可以在这个 [拉取请求][13] 中查阅更多的详细信息。
#### AMD 芯片的性能提升
![][14]
随着 Linux 内核 6.6 的发布AMD 的开发人员推出了**两项尚未正式公开的新技术的支持**。
一项技术是对他们即将推出的 “**FreeSync Panel Replay**” 技术的支持,这一技术只用于游戏笔记本抖动屏,可以自动降低刷新率以节省电力和降低 GPU 工作负载。
另一项技术被称为 “**动态提速控制**”,这是一项能够**提高某些 Ryzen SoC 性能的功能**,但关于它的更多细节比较少。
关于它的实施,你可以在这个 [补丁序列][15] 中查阅更多的信息。
#### 🛠️ 其他的变化与改进
其他方面,还包括一些值得注意的变动:
* 针对 **龙芯** 的大量新特性。
* **Rust 工具链** 升级至 v1.71.1 版本。
***RISC-V****Btrfs** 的多项改进。
* 完全移除了 [无线 USB][16] 和 [**Ultra-Wideband**][17] 的代码。
***英伟达**、**英特尔** 和 **AMD** 的**开源图形驱动程序** 的众多优化。
你可以在 [更新日志][18] 中查阅更详细的信息。
### 安装 Linux 内核 6.6 版本
如果你的体验是像 Arch 或 Fedora 那类的滚动发行版,升级过程非常简单。
你只需要稍等片刻,因为这些发行版在发布更新时需要一些时间。
对于其他的用户,你可以等待主要版本更新,或者**根据我们的指南在 Ubuntu 中升级至最新的主线 Linux 内核**
> **[在 Ubuntu 上安装最新的主线 Linux 内核][19]**
你可以在 [官方网站][20] 下载最新的 Linux 内核的 tarball _发布后可能需要些时间才能得到_
💬 你对这次内核发布有何想法?
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/linux-kernel-6-6-release/
作者:[Sourav Rudra][a]
选题:[lujun9972][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/sourav/
[b]: https://github.com/lujun9972
[1]: https://lkml.iu.edu/hypermail/linux/kernel/2310.3/06370.html
[2]: https://news.itsfoss.com/content/images/size/w256h256/2022/08/android-chrome-192x192.png
[3]: https://news.itsfoss.com/content/images/2023/10/Linux_Kernel_6.6_1.png
[4]: https://www.intel.com/content/www/us/en/content-details/788851/meteor-lake-architecture-overview.html
[5]: https://en.wikipedia.org/wiki/Shadow_stack
[6]: https://www.intel.com/content/www/us/en/developer/articles/technical/technical-look-control-flow-enforcement-technology.html
[7]: https://news.itsfoss.com/content/images/2023/04/Follow-us-on-Google-News.png
[8]: https://news.itsfoss.com/content/images/2023/10/Linux_Kernel_6.6_2-1.png
[9]: https://rog.asus.com/laptops/rog-flow/rog-flow-x16-2023-series/spec/
[10]: https://news.itsfoss.com/content/images/2023/10/Linux_Kernel_6.6_3.png
[11]: https://www.qualcomm.com/products/internet-of-things/networking/wi-fi-networks/qca8081
[12]: https://www.nxp.com/products/interfaces/ethernet-/automotive-ethernet-phys/tja1120-automotive-ethernet-phy-1000base-t1-asil-b-and-tc-10:TJA1120
[13]: https://lore.kernel.org/lkml/20230829125950.39432-1-pabeni@redhat.com/
[14]: https://news.itsfoss.com/content/images/2023/10/Linux_Kernel_6.6_4.png
[15]: https://lore.kernel.org/lkml/20230420163140.14940-1-mario.limonciello@amd.com/T/#m38ab23d70d213ceb67440168b3f71ad2be3aa564
[16]: https://en.wikipedia.org/wiki/Wireless_USB
[17]: https://en.wikipedia.org/wiki/Ultra-wideband
[18]: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6
[19]: https://itsfoss.com/upgrade-linux-kernel-ubuntu/
[20]: https://www.kernel.org/
[0]: https://img.linux.net.cn/data/attachment/album/202310/31/204603jy3e8ezhtyehn9po.jpg

View File

@@ -0,0 +1,129 @@
[#]: subject: "An open source developer's guide to 12-Factor App methodology"
[#]: via: "https://opensource.com/article/21/11/open-source-12-factor-app-methodology"
[#]: author: "Richard Conn https://opensource.com/users/richardaconn-0"
[#]: collector: "lujun9972"
[#]: translator: "trisbestever"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16386-1.html"
12-Factor 应用方法论的开源开发者指南
======
![][0]
> 这 12 项基本原则能够帮助团队快速高效地构建高度可扩展的应用程序
[12-Factor 应用方法论][2] 为在短时间内构建应用程序并使其具有可扩展性提供了指导。它由 Heroku 的开发人员创建用于软件即服务SaaS应用程序、网络应用程序以及可能的通信平台即服务CPaaS。在有效组织项目和管理可扩展应用程序方面12 要素应用程序方法论对开源开发具有强大的优势。
### 12-Factor 应用方法论的原则
12-Factor 应用方法论的规则非常严格,也是开发和部署 SaaS 应用程序的基石,并且不受任何编程语言或数据库的限制。
#### 1一份基准代码多份部署
![一个说明图表:显示了一个由左边的绿线代表的代码库,引导到右边由绿色方块代表的四个部署。橙色方块代表暂存环境,而红色方块代表生产环境。][3]
每个应用程序都应该有一个具有多个不同环境/部署的代码库。
开发人员不应仅仅为了在不同环境中设置而开发另一个代码库。不同的环境代表不同的状态,但这些不同的环境应该共享同一个代码库。
在许多开源项目都存储在 GitLab 这样的版本控制系统中的情况下,一个环境可以被视为一个分支。例如,你可以在任何中央版本控制系统中为名为 VoIP-app 的云 VoIP 应用程序创建一个单独的存储库,然后创建两个分支:开发分支(`development`)和暂存分支(`staging`),并将主分支(`master`)作为发布分支。
#### 2明确声明和隔离依赖关系
应声明所有依赖关系。你的应用程序可能会依赖外部系统工具或库,但不应对系统工具或库有任何 _隐含的_ 依赖。你的应用程序必须始终明确声明所有依赖关系及其正确版本。
在代码库中包含依赖关系可能会产生问题,特别是在开源项目中,外部库的更改可能会将错误引入代码库。例如,代码库可能会使用一个外部库,但没有明确声明该依赖关系或版本。如果外部库更新到更新的、未经测试的版本,这可能会与你的代码产生兼容性问题。如果明确声明了依赖关系及其正确版本,你的代码库就不会出现这种问题。
根据技术栈的不同,最好使用软件包管理器,通过读取代表依赖库名称和版本的依赖库声明清单,在各自的系统上下载依赖库。
#### 3在环境中存储配置
当需要支持多个环境或客户端时,配置就成了应用程序的重要组成部分。不同部署之间的配置应存储在环境变量中。这样就可以在部署之间轻松更改配置,而无需更改代码。
对于闭源应用程序来说,这一原则是有益的,因为你不会希望数据库连接信息或其他秘密数据等敏感信息被公开。然而,在开放源代码开发中,这些细节都是公开的。在这种情况下,好处是你不需要反复修改代码。你只需这样设置变量,只需改变环境,就能让代码完美运行。
#### 4把后端服务当作附加资源
所有后备服务(如数据库、外部存储或消息队列)都被视为附加资源,由执行环境附加或分离。根据这一原则,如果这些服务的位置或连接细节发生变化,仍无需更改代码。这些细节可以在配置中找到。
备份服务可以从部署中快速附加或分离。例如,如果基于云的电子表格的数据库无法正常工作,开发人员应该能够创建一个从最近备份恢复的新数据库服务器,而无需对代码库进行任何更改。
#### 5严格分离构建和运行
12-Factor 应用方法论要求严格区分构建、发布和运行阶段。
* 第一阶段是 _构建_ 阶段。在这一阶段,源代码被组装或编译成可执行文件,同时加载依赖关系并创建资产。每次需要部署新代码时,构建阶段就会开始。
* 第二阶段是 _发布_ 阶段。在此阶段,构建阶段生成的代码与部署的当前配置相结合。最终发布的版本包含构建和配置,可在执行环境中立即执行。
* 第三个阶段是 _运行_ 阶段,也是最后阶段:应用程序在执行环境中运行。该阶段不应被其他任何阶段打断。
通过严格区分这些阶段,我们可以避免代码中断,使系统维护更加易于管理。
#### 6以一个或多个无状态进程运行应用
应用程序作为一个或多个进程的集合在执行环境中执行。这些进程是无状态的,其持久化数据存储在数据库等后台服务中。
这对开源非常有用,因为使用某版本应用程序的开发人员可以在其云平台上创建多节点部署,以实现可扩展性。数据不会在其中持久化,因为如果其中任何一个节点崩溃,数据就会丢失。
#### 7通过端口绑定提供服务
你的应用程序应作为独立的服务独立于其他应用程序。它它应该能通过URL供其他服务访问以服务形式存在。这样你的应用程序就可以在需要时作为其他应用程序的资源。利用这一概念你可以构建 [REST API][4]。
#### 8通过进程模型进行扩展
该原则也称为并发原则,它表明应用程序中的每个进程都应能够自我扩展、重启或克隆。
开发人员可以创建多个进程,并将应用程序的负载分配给这些进程,而不是将一个进程变大。通过这种方法,你可以将每种工作负载分配给一个进程类型,从而构建能处理不同工作负载的应用程序。
#### 9快速启动和优雅终止以增强健壮性
你的应用应当基于简单的进程构建,因此开发者可以放大进程的同时还能在发生问题时重启它们。这使得应用的进程易于丢弃。
根据这一原则构建应用程序意味着代码的快速部署、快速弹性扩展、更灵活的发布流程以及稳健的生产部署。所有这些在开源开发环境中都非常有用。
#### 10尽可能的保持开发、预发布、生产环境相同
同一项目的团队应使用相同的操作系统、支持服务和依赖关系。这样可以降低出现错误的可能性,减少开发所需的时间。
由于开源项目的开发人员分散在各地,他们可能无法就所使用的系统、服务和依赖关系进行 [沟通][5] ,因此将这一原则付诸实践对于开源项目来说可能是一个挑战。减少这些差异的一种可能性是制定开发指南,建议使用何种操作系统、服务和依赖关系。
#### 11把日志当作事件流
日志对于排除生产问题或了解用户行为至关重要。但是12-Factor 应用方法论并不适合处理日志的管理。
相反应将日志条目作为事件流写入标准输出并将其发送到单独的服务进行分析和存档。机器人流程自动化RPA技术可作为处理和分析日志的第三方服务。执行环境将决定如何处理该数据流。这为反省应用程序的行为提供了更大的灵活性和能力。
#### 12后台管理任务当作一次性进程运行
这一原则实际上与开发无关,而是与应用程序管理有关。管理进程应在与应用程序常规长期运行进程相同的环境中运行。在本地部署中,开发人员可以直接使用应用程序签出目录内的 Shell 命令来执行一次性管理进程。
### 结论
使用 12-Factor 应用方法论开发应用程序,可以提高效率,加快发布速度。在开源开发中,偏离某些指导原则可能是有意义的,但最好还是尽可能严格遵守这些指导原则。
开源的 12-Factor 应用是可能的。一个很好的例子是 [Jitsi][6][, (一个开源视频会议平台)][7], 在疫情期间扩展了 100 倍的规模,取得了巨大成功,它就是采用 12-Factor 应用方法论构建的。
*题图MJ/4bc8b463-49d0-4702-8ad3-6a07a718d5d9*
--------------------------------------------------------------------------------
via: https://opensource.com/article/21/11/open-source-12-factor-app-methodology
作者:[Richard Conn][a]
选题:[lujun9972][b]
译者:[trisbestever](https://github.com/trisbestever)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://opensource.com/users/richardaconn-0
[b]: https://github.com/lujun9972
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/gears_devops_learn_troubleshooting_lightbulb_tips_520.png?itok=HcN38NOk (Tips and gears turning)
[2]: https://www.redhat.com/architect/12-factor-app
[3]: https://opensource.com/sites/default/files/uploads/codebase-deploy_1.png (Codebase)
[4]: https://opensource.com/article/21/9/ansible-rest-apis
[5]: https://opensource.com/article/21/10/global-communication-open-source
[6]: https://jitsi.org/
[7]: http://jitsi.org
[0]: https://img.linux.net.cn/data/attachment/album/202311/16/124441qs8hltth7hurdzos.png

View File

@@ -0,0 +1,108 @@
[#]: subject: "AI: Some History and a Lot More about Matrices"
[#]: via: "https://www.opensourceforu.com/2022/06/ai-some-history-and-a-lot-more-about-matrices/"
[#]: author: "Deepu Benson https://www.opensourceforu.com/author/deepu-benson/"
[#]: collector: "lkxed"
[#]: translator: "toknow-gh"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16399-1.html"
人工智能教程(二):人工智能的历史以及再探矩阵
======
![][0]
*在本系列的 [第一篇文章](https://linux.cn/article-16326-1.html) 中,我们讨论了人工智能、机器学习、深度学习、数据科学等领域的关联和区别。我们还就整个系列将使用的编程语言、工具等做出了一些艰难的选择。最后,我们还介绍了一点矩阵的知识。在本文中,我们将深入地讨论人工智能的核心——矩阵。不过在此之前,我们先来了解一下人工智能的历史。*
我们为什么需要了解人工智能的历史呢?历史上曾出现过多次人工智能热潮,但在很多情况下,对人工智能潜力的巨大期望都未能达成。了解人工智能的历史,有助于让我们看清这次人工智浪潮是会创造奇迹,抑或只是另一个即将破灭的泡沫。
我们对人工智能的最寻起源于何时呢?是在发明数字计算机之后吗?还是更早呢?我相信对一个无所不知的存在的追求可以追溯到文明之初。比如古希腊神话中的 <ruby>德尔菲<rt>Delphi</rt></ruby> 就是这样一位能回答任何问题的先知。从远古时代起,对于超越人类智慧的创造性机器的探索同样吸引着我们 。历史上有过几次制造国际象棋机器的失败的尝试。其中就有臭名昭著的<ruby>机械特克<rt>Mechanical Turk</rt></ruby>,它并不是真正的机器人,而是由一位藏在内部的棋手操控的。<ruby>约翰·纳皮尔<rt>John Napier</rt></ruby> 发明的对数、<ruby>布莱斯·帕斯卡<rt>Blaise Pascal</rt></ruby> 的计算器、<ruby>查尔斯·巴贝奇<rt>Charles Babbage</rt></ruby> 的差分机等,这些都是人工智能研究的前身。回顾人类历史,你会发现更多真实或虚构的时刻,人们想要获得超越人脑的智能。如果不考虑以上这些历史成就,对真正人工智能的探索起始于数字计算机的发明。
那么,人工智能发展至今有哪些里程碑呢?前面已经提到,数字计算机的发明是人工智能研究历程中最重要的事件。与可扩展性依赖于功率需求的机电设备不同,数字设备受益于技术进步,比如从真空管到晶体管到集成电路再到如今的超大规模集成技术。
人工智能发展的另一个里程碑是 <ruby>阿兰·图灵<rt>Alan Turing</rt></ruby> 首次对人工智能的理论分析。他提出的 <ruby>图灵测试<rt>Turing test</rt></ruby> 是最早的人工智能测试方法之一。现在图灵测试可能已经不太适用了,但它是定义人工智能的最初尝试之一。图灵测试可以简单描述如下:假设有一台能够与人类对话的机器,如果它能在对话中让人无法分辨它是人还是机器,那么就可以认为这台机器具有智能。如今的聊天机器人非常强大,使我们很容易看出图灵测试无法识别出真正的人工智能。但在 20 世纪 50 年代初,这确实为理解人工智能提供了一个理论框架。
20 世纪 50 年代末,<ruby>约翰·麦卡锡<rt>John McCarthy</rt></ruby> 发明了 Lisp 编程语言。它是最早的高级编程语言之一。在此之前计算机编程用的是机器语言和汇编语言众所周知地难用。有了强大的机器和编程语言计算机科学家中的乐观主义和梦想家顺理成章地开始用它们来创造人工智能。20 世纪 60 年代初对人工智能机器的期望达到了顶峰。当然计算机科学领域取得了很大发展但人工智能的奇迹发生了吗很遗憾并没有。20 世纪 60 年代见证了第一次人工智能热潮的兴起和破灭。然而计算机科学以无与伦比的速度继续发展着。
到了 70 年代和 80 年代算法在这一时期发挥了主要作用。在这段时间许多新的高效算法被提出。20 世纪 60 年代末<ruby>高德纳·克努特<rt>Donald Knuth</rt></ruby>(我强烈建议你了解一下他,在计算机科学界,他相当于数学界的高斯或欧拉)著名的《<ruby>计算机程序设计艺术<rt>The Art of Computer Programming</rt></ruby>》第一卷的出版标志着算法时代的开始。在这些年中,开发了许多通用算法和图算法。此外,基于人工神经网络的编程也在此时兴起。尽管早在 20 世纪 40 年代,<ruby>沃伦·S.·麦卡洛克<rt>Warren S. McCulloch</rt></ruby>和<ruby>沃尔特·皮茨<rt>Walter Pitts</rt></ruby> 就率先提出了人工神经网络,但直到几十年后它才成为主流技术。今天,深度学习几乎完全是基于人工神经网络的。算法领域的这种发展导致了 20 世纪 80 年代人工智能研究的复苏。然而,这一次,通信和算力的限制阻碍了人工智能的发展,使其未能达到人们野心勃勃的预期。然后是 90 年代、千禧年,直到今天。又一次,我们对人工智能的积极影响充满了热情和希望。
我你们可以看到在数字时代人工智能至少有两次前景光明的机会。但这两次人工智能都没有达到它的预期。现在的人工智能浪潮也与此类似吗当然这个问题很难回答。但我个人认为这一次人工智能将产生巨大的影响LCTT 译注:本文发表于 2022 年 6 月半年后ChatGTP 才推出)。是什么让我做出这样的预测呢?第一,现在的高性能计算设备价格低廉且容易获得。在 20 世纪 60 年代或 80 年代只有几台如此强大的计算设备而现在我们有数百万甚至数十亿台这样的机器。第二现在有大量数据可用来训练人工智能和机器学习程序。想象一下90 年代从事数字图像处理的人工智能工程师,能有多少数字图像来训练算法呢?也许是几千或者几万张吧。现在单单数据科学平台 Kaggle谷歌的子公司就拥有超过 1 万个数据集。互联网上每天产生的大量数据使训练算法变得容易得多。第三高速的互联网连接使得与大型机构协作变得更加容易。21 世纪的头 10 年,计算机科学家之间的合作还很困难。如今互联网的速度已经使谷歌 Colab、Kaggle、Project jupiter 等人工智能项目的协作成为现实。由于这三个因素,我相信这一次人工智能将永远存在,并会出现许多优秀的应用。
### 更多矩阵的知识
![图 1矩阵 A、B、C、D][2]
在大致了解了人工智能的历史后,现在是时候回到矩阵与向量这一主题上了。在上一篇文章中,我已经对它们做了简要介绍。这一次,我们将更深入矩阵的世界。首先看图 1 和 图 2其中显示了从 A 到 H 共 8 个矩阵。为什么人工智能和机器学习教程中需要这么多矩阵呢?首先,正如前一篇文章中提到的,矩阵是线性代数的核心,而线性代数即使不是机器学习的大脑,也是机器学习的核心。其次,在接下来的讨论中,它们每一个都有特定的用途。
![图 2矩阵 E、F、G、H][3]
让我们看看矩阵是如何表示的,以及如何获取它们的详细信息。图 3 展示了怎么用 NumPy 表示矩阵 A。虽然矩阵和数组并不完全等价但实践中我们经常将它们作为同义词来使用。
![图 3用 NumPy 表示矩阵 A][4]
我强烈建议你仔细学习如何使用 NumPy 的 `array` 函数创建矩阵。虽然 NumPy 也提供了 `matrix` 函数来创建二维数组和矩阵。但是它将在未来被废弃,所以不再建议使用了。在图 3 还显示了矩阵 A 的一些详细信息。`A.size` 告诉我们数组中元素的个数。在我们的例子中,它是 9。代码 `A.nidm` 表示数组的 <ruby>维数<rt>dimension</rt></ruby>。很容易看出矩阵 A 是二维的。`A.shape` 表示矩阵 A 的<ruby>阶数<rt>order</rt></ruby>,矩阵的阶数是矩阵的行数和列数。虽然我不会进一步解释,但使用 NumPy 库时需要注意矩阵的大小、维度和阶数。图 4 显示了为什么应该仔细识别矩阵的大小、维数和阶数。定义数组时的微小差异可能导致其大小、维数和阶数的不同。因此,程序员在定义矩阵时应该格外注意这些细节。
![图 4数组的大小、维数和阶数][5]
现在我们来做一些基本的矩阵运算。图 5 显示了如何将矩阵 A 和 B 相加。NumPy 提供了两种方法将矩阵相加,`add` 函数和 `+` 运算符。请注意,只有阶数相同的矩阵才能相加。例如,两个 4 × 3 矩阵可以相加,而一个 3 × 4 矩阵和一个 2 × 3 矩阵不能相加。然而由于编程不同于数学NumPy 在实际上并不遵循这一规则。图 5 还展示了将矩阵 A 和 D 相加。记住,这种矩阵加法在数学上是非法的。一种叫做 <ruby>广播<rt>broadcasting </rt></ruby> 的机制决定了不同阶数的矩阵应该如何相加。我们现在不会讨论广播的细节,但如果你熟悉 C 或 C++,可以暂时将其理解为变量的类型转换。因此,如果你想确保执行正真数学意义上的矩阵加法,需要保证以下测试为真:
![图 5矩阵相加][6]
```
A.shape == B.shape
```
广播机制也不是万能的,如果你尝试把矩阵 D 和 H 相加,会产生一个运算错误。
当然除了矩阵加法外还有其它矩阵运算。图 6 展示了矩阵减法和矩阵乘法。它们同样有两种形式,矩阵减法可以由 `subtract` 函数或减法运算符 `-` 来实现,矩阵乘法可以由 `matmul` 函数或矩阵乘法运算符 `@` 来实现。图 6 还展示了 <ruby>逐元素乘法<rt>element-wise multiplication</rt></ruby> 运算符 `*` 的使用。请注意,只有 NumPy 的 `matmul` 函数和 `@` 运算符执行的是数学意义上的矩阵乘法。在处理矩阵时要小心使用 `*` 运算符。
![图 6更多矩阵运算][7]
对于一个 m x n 阶和一个 p x q 阶的矩阵,当且仅当 n 等于 p 时它们才可以相乘,相乘的结果是一个 m x q 阶矩的阵。图 7 显示了更多矩阵相乘的示例。注意 `E@A` 是可行的,而 `A@E` 会导致错误。请仔细阅读对比 `D@G``G@D` 的示例。使用 `shape` 属性,确定这 8 个矩阵中哪些可以相乘。虽然根据严格的数学定义,矩阵是二维的,但我们将要处理更高维的数组。作为例子,下面的代码创建一个名为 T 的三维数组。
![图 7更多矩阵乘法的例子][8]
```
T = np.array([[[11,22], [33,44]], [[55,66], [77,88]]])
```
### Pandas
到目前为止,我们都是通过键盘输入矩阵的。如果我们需要从文件或数据集中读取大型矩阵并处理,那该怎么办呢?这时我们就要用到另一个强大的 Python 库了——Pandas。我们以读取一个小的 CSV <ruby>逗号分隔值<rt>comma-separated value</rt></ruby>)文件为例。图 8 展示了如何读取 `cricket.csv` 文件,并将其中的前三行打印到终端上。在本系列的后续文章中将会介绍 Pandas 的更多特性。
![图 8用 Pandas 读取 CSV 文件][9]
### 矩阵的秩
矩阵的 <ruby>秩<rt>Rank</rt></ruby> 是由它的行(列)张成的向量空间的维数。如果你还记得大学线性代数的内容的话,你一定对维数、向量空间和张成还有印象,那么你也应该能理解矩阵的秩的含义了。但如果你不熟悉这些术语,那么可以简单地将矩阵的秩理解为矩阵中包含的信息量。当然,这又是一种未来方便理解而过度简化的说法。图 9 显示了如何用 NumPy 求矩阵的秩。矩阵 A 的秩为 3因为它的任何一行都不能从其它行中得到。矩阵 B 的秩为 1因为第二行和第三行可以由第一行分别乘以 2 和 3 得到。矩阵 C 只有一个非零行,因此秩为 1。同样的其它矩阵的秩也不难理解。矩阵的秩与我们的主题关系密切我们会在后续文章中再提到它。
![图 9求矩阵的秩][10]
本次的内容就到此结束了。在下一篇文章中,我们将扩充工具库,以便它们可用于开发人工智能和机器学习程序。我们还将更详细地讨论 <ruby>神经网络<rt>neural network</rt></ruby>、<ruby>监督学习<rt>supervised learning</rt></ruby>、<ruby>无监督学习<rt>unsupervised learning</rt></ruby> 等术语。此外,从下一篇文章开始,我们将使用 JupyterLab 代替 Linux 终端。
*题图MJ/ce77d714-3651-44e4-96b0-ffbf7ae4269c*
--------------------------------------------------------------------------------
via: https://www.opensourceforu.com/2022/06/ai-some-history-and-a-lot-more-about-matrices/
作者:[Deepu Benson][a]
选题:[lkxed][b]
译者:[toknow-gh](https://github.com/toknow-gh)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://www.opensourceforu.com/author/deepu-benson/
[b]: https://github.com/lkxed
[1]: https://www.opensourceforu.com/wp-content/uploads/2022/06/AI-Some-History-and-a-Lot-More-about-Matrices-1.jpg
[2]: https://www.opensourceforu.com/wp-content/uploads/2022/06/Figure-1-Matrices-A-B-C-and-D.jpg
[3]: https://www.opensourceforu.com/wp-content/uploads/2022/06/Figure-2-Matrices-E-F-G-and-H.jpg
[4]: https://www.opensourceforu.com/wp-content/uploads/2022/06/Figure-3-Matrix-A-with-NumPy-350x167.jpg
[5]: https://www.opensourceforu.com/wp-content/uploads/2022/06/Figure-4-Size-dimension-and-shape-of-an-array-350x292.jpg
[6]: https://www.opensourceforu.com/wp-content/uploads/2022/06/Figure-5-Matrix-addition-350x314.jpg
[7]: https://www.opensourceforu.com/wp-content/uploads/2022/06/Figure-6-More-matrix-operations-1-350x375.jpg
[8]: https://www.opensourceforu.com/wp-content/uploads/2022/06/Figure-7-More-examples-of-matrix-multiplication-590x293.jpg
[9]: https://www.opensourceforu.com/wp-content/uploads/2022/06/Figure-8-Reading-a-CSV-file-with-Pandas-350x123.jpg
[10]: https://www.opensourceforu.com/wp-content/uploads/2022/06/Figure-9-Finding-the-rank-of-a-matrix-350x366.jpg
[0]: https://img.linux.net.cn/data/attachment/album/202311/20/150356w8cvn62a82uvgc8a.png

View File

@@ -2,26 +2,29 @@
[#]: via: "https://opensource.com/article/22/8/interpret-compile-java"
[#]: author: "Jayashree Huttanagoudar https://opensource.com/users/jayashree-huttanagoudar"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
[#]: translator: "toknow-gh"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16353-1.html"
A guide to JVM interpretation and compilation
JVM 解释和编译指南
======
Use interpretation, just-in-time compilation, and ahead-of-time compilation efficiently by understanding the differences among them.
Java is a platform-independent language. Programs are converted to *bytecode* after compilation. This bytecode gets converted to *machine code* at runtime. An interpreter emulates the execution of bytecode instructions for the abstract machine on a specific physical machine. Just-in-time (JIT) compilation happens at some point during execution, and ahead-of-time (AOT) compilation happens during build time.
![][0]
This article explains when an interpreter comes into play and when JIT and AOT will occur. I also discuss the trade-offs between JIT and AOT.
> 通过理解解释、即时编译和预先编译之间的区别,有效地使用它们。
### Source code, bytecode, machine code
Java 是一种跨平台的编程语言。程序源代码会被编译为 <ruby>字节码<rt>bytecode</rt></ruby>,然后字节码在运行时被转换为 <ruby>机器码<rt>machine code</rt></ruby>。<ruby>解释器<rt>interpreter</rt></ruby> 在物理机器上模拟出的抽象计算机上执行字节码指令。<ruby>即时<rt>just-in-time</rt></ruby>JIT编译发生在运行期而 <ruby>预先<rt>ahead-of-time</rt></ruby>AOT编译发生在构建期。
Applications are generally written using a programming language like C, C++, or Java. The set of instructions written using high-level programming languages is called source code. Source code is human readable. To execute it on the target machine, source code needs to be converted to machine code, which is machine readable. Source code is typically converted into machine code by a compiler.
本文将说明解释器、JIT 和 AOT 分别何时起作用,以及如何在 JIT 和 AOT 之间权衡。
In Java, however, the source code is first converted into an intermediate form called *bytecode*. This bytecode is platform independent, which is why Java is well known as a platform-independent programming language. The primary Java compiler `javac` converts the Java source code into bytecode. Then, the bytecode is interpreted by the interpreter.
### 源代码、字节码、机器码
Here is a small `Hello.java` program:
应用程序通常是由 C、C++ 或 Java 等编程语言编写。用这些高级编程语言编写的指令集合称为源代码。源代码是人类可读的。要在目标机器上执行它,需要将源代码转换为机器可读的机器码。这个转换工作通常是由 <ruby>编译器<rt>compiler</rt></ruby> 来完成的。
然而,在 Java 中,源代码首先被转换为一种中间形式,称为字节码。字节码是平台无关的,所以 Java 被称为平台无关编程语言。Java 编译器 `javac` 将源代码转换为字节码。然后解释器解释执行字节码。
下面是一个简单的 Java 程序, `Hello.java`
```
//Hello.java
@@ -32,7 +35,7 @@ public class Hello {
}
```
Compile it using `javac` to generate a `Hello.class` file containing the bytecode.
使用 `javac` 编译它,生成包含字节码的 `Hello.class` 文件。
```
$ javac Hello.java
@@ -40,7 +43,7 @@ $ ls
Hello.class  Hello.java
```
Now, use `javap` to disassemble the content of the `Hello.class` file. The output of `javap` depends on the options used. If you don't choose any options, it prints basic information, including which source file this class file is compiled from, the package name, public and protected fields, and methods of the class.
现在,使用 `javap` 来反汇编 `Hello.class` 文件的内容。使用 `javap` 时如果不指定任何选项,它将打印基本信息,包括编译这个 `.class` 文件的源文件、包名称、公共和受保护字段以及类的方法。
```
$ javap Hello.class
@@ -51,7 +54,7 @@ public class Hello {
}
```
To see the bytecode content in the `.class` file, use the `-c` option:
要查看 `.class` 文件中的字节码内容,使用 `-c` 选项:
```
$ javap -c Hello.class
@@ -73,15 +76,15 @@ java/io/PrintStream.println:(Ljava/lang/String;)V
}
```
To get more detailed information, use the `-v` option:
要获取更详细的信息,使用 `-v` 选项:
```
$ javap -v Hello.class
```
### Interpreter, JIT, AOT
### 解释器,JIT AOT
The interpreter is responsible for emulating the execution of bytecode instructions for the abstract machine on a specific physical machine. When compiling source code using `javac` and executing using the `java` command, the interpreter operates during runtime and serves its purpose.
解释器负责在物理机器上模拟出的抽象计算机上执行字节码指令。当使用 `javac` 编译源代码,然后使用 `java` 执行时,解释器在程序运行时运行并完成它的目标。
```
$ javac Hello.java
@@ -89,11 +92,11 @@ $ java Hello
Inside Hello World!
```
The JIT compiler also operates at runtime. When the interpreter interprets a Java program, another component, called a runtime profiler, is silently monitoring the program's execution to observe which portion of the code is getting interpreted and how many times. These statistics help detect the *hotspots* of the program, that is, those portions of code frequently being interpreted. Once they're interpreted above a set threshold, they are eligible to be converted into machine code directly by the JIT compiler. The JIT compiler is also known as a profile-guided compiler. Conversion of bytecode to native code happens on the fly, hence the name just-in-time. JIT reduces overhead of the interpreter emulating the same set of instructions to machine code.
JIT 编译器也在运行期发挥作用。当解释器解释 Java 程序时,另一个称为运行时 <ruby>分析器<rt>profiler</rt></ruby> 的组件将静默地监视程序的执行,统计各部分代码被解释的次数。基于这些统计信息可以检测出程序的 <ruby>热点<rt>hotspot</rt></ruby>,即那些经常被解释的代码。一旦代码被解释次数超过设定的阈值,它们满足被 JIT 编译器直接转换为机器码的条件。所以 JIT 编译器也被称为分析优化的编译器。从字节码到机器码的转换是在程序运行过程中进行的因此称为即时编译。JIT 减少了解释器将同一组指令模拟为机器码的负担。
The AOT compiler compiles code during build time. Generating frequently interpreted and JIT-compiled code at build time improves the warm-up time of the Java Virtual Machine (JVM). This compiler was introduced in Java 9 as an experimental feature. The `jaotc` tool uses the Graal compiler, which is itself written in Java, for AOT compilation.
AOT 编译器在构建期编译代码。在构建时将需要频繁解释和 JIT 编译的代码直接编译为机器码可以缩短 <ruby>Java 虚拟机<rt>Java Virtual Machine</rt></ruby>JVM 的<ruby>预热<rt>warm-up</rt></ruby>时间。LCTT 译注Java 程序启动后首先字节码被解释执行此时执行效率较低。等到程序运行了足够的时间后代码热点被检测出来JIT 开始发挥作用程序运行效率提升。JIT 发挥作用之前的过程就是预热。AOT 是在 Java 9 中引入的一个实验性特性。`jaotc` 使用 Graal 编译器(它本身也是用 Java 编写的)来实现 AOT 编译。
Here's a sample use case for a Hello program:
`Hello.java` 为例:
```
//Hello.java
@@ -110,9 +113,9 @@ $ java -XX:+UnlockExperimentalVMOptions -XX:AOTLibrary=./libHello.so Hello
Inside Hello World!
```
### When do interpreting and compiling come into play: an example
### 解释和编译发生的时机
This example illustrates when Java uses an interpreter and when JIT and AOT pitch in. Consider a simple Java program, `Demo.java` :
下面通过例子来展示 Java 在什么时候使用解释器,以及 JIT AOT 何时参与进来。这里有一个简单的程序 `Demo.java` :
```
//Demo.java
@@ -136,7 +139,7 @@ public class Demo {
}
```
This simple program has a `main` method that creates a `Demo` object instance, and calls the method `square`, which displays the square root of the `for` loop iteration value. Now, compile and run the code:
在这个程序的 `main()` 方法中创建了一个 `Demo` 对象的实例,并调用该实例的 `square()`方法,然后显示 `for` 循环迭代变量的平方值。编译并运行它:
```
$ javac Demo.java
@@ -159,7 +162,7 @@ Time taken= 66498
--------------------------------
```
The question now is whether the output is a result of the interpreter, JIT, or AOT. In this case, it's wholly interpreted. How did I conclude that? Well, to get JIT to contribute to the compilation, the hotspots of the code must be interpreted above a defined threshold. Then and only then are those pieces of code queued for JIT compilation. To find the threshold for JDK 11:
上面的结果是由谁产生的呢是解释器JIT 还是 AOT在目前的情况下它完全是通过解释产生的。我是怎么得出这个结论的呢只有代码被解释的次数必须超过某个阈值时这些热点代码片段才会被加入 JIT 编译队列。只有这时JIT 编译才会发挥作用。使用以下命令查看 JDK 11 中的该阈值:
```
$ java -XX:+PrintFlagsFinal -version | grep CompileThreshold
@@ -170,9 +173,9 @@ OpenJDK Runtime Environment 18.9 (build 11.0.13+8)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.13+8, mixed mode, sharing)
```
The above output demonstrates that a particular piece of code should be interpreted 10,000 times to be eligible for JIT compilation. Can this threshold be manually tuned, and is there some JVM flag that indicates whether a method is JIT compiled? Yes, there are multiple options to serve this purpose.
上面的输出表明,一段代码被解释 10,000 次才符合 JIT 编译的条件。这个阈值是否可以手动调整呢?是否有 JVM 标志可以指示出方法是否被 JIT 编译了呢?答案是肯定的,而且有多种方式可以达到这个目的。
One option for learning whether a method is JIT compiled is `-XX:+PrintCompilation`. Along with this option, the flag `-Xbatch` provides the output in a more readable way. If both interpretation and JIT are happening in parallel, the `-Xbatch` flag helps distinguish the output of both. Use these flags as follows:
使用 `-XX:+PrintCompilation` 选项可以查看一个方法是否被 JIT 编译。除此之外,使用 `-Xbatch` 标志可以提高输出的可读性。如果解释和 JIT 同时发生,`-Xbatch` 可以帮助区分两者的输出。使用这些标志如下:
```
$ java -Xbatch  -XX:+PrintCompilation  Demo
@@ -190,13 +193,13 @@ Time taken= 50150
--------------------------------
```
The output of the above command is too lengthy, so I've truncated the middle portion. Note that along with the Demo program code, the JDKs internal class functions are also getting compiled. This is why the output is so lengthy. Because my focus is `Demo.java` code, I'll use an option that can minimize the output by excluding the internal package functions. The command -`XX:CompileCommandFile` disables JIT for internal classes:
注意,上面命令的实际输出太长了,这里我只是截取了一部分。输出很长的原因是除了 `Demo` 程序的代码外JDK 内部类的函数也被编译了。由于我的重点是 `Demo.java` 代码,我希望排除内部包的函数来简化输出。通过选项 `-XX:CompileCommandFile` 可以禁用内部类的 JIT
```
$ java -Xbatch -XX:+PrintCompilation -XX:CompileCommandFile=hotspot_compiler Demo
```
The file `hotspot_compiler` referenced by `-XX:CompileCommandFile` contains this code to exclude specific packages:
在选项 `-XX:CompileCommandFile` 指定的文件 `hotspot_compiler` 中包含了要排除的包:
```
$ cat hotspot_compiler
@@ -206,7 +209,7 @@ exclude jdk/* *
exclude sun/* *
```
In the first line, `quiet` instructs the JVM not to write anything about excluded classes. To tune the JIT threshold, use `-XX:CompileThreshold` with the value set to 5, meaning that after interpreting five times, it's time for JIT:
第一行的 `quiet` 告诉 JVM 不要输出任何关于被排除类的内容。用 `-XX:CompileThreshold` 将 JIT 阈值设置为 5。这意味着在解释 5 次之后,就会进行 JIT 编译:
```
$ java -Xbatch -XX:+PrintCompilation -XX:CompileCommandFile=hotspot_compiler \
@@ -246,7 +249,7 @@ Time taken= 26492
--------------------------------
```
The output is still not different from interpreted output! This is because, as per Oracle's documentation, the `-XX:CompileThreshold` flag is effective only when `TieredCompilation` is disabled:
好像输出结果跟只用解释时并没有什么区别。根据 Oracle 的文档,这是因为只有禁用 `TieredCompilation``-XX:CompileThreshold` 才会生效:
```
$ java -Xbatch -XX:+PrintCompilation -XX:CompileCommandFile=hotspot_compiler \
@@ -282,7 +285,7 @@ Square(i) = 100
Time taken= 52393
```
This section of code is now JIT compiled after the fifth interpretation:
可以看到在第五次迭代之后,代码片段被 JIT 编译了:
```
--------------------------------
@@ -294,11 +297,11 @@ Time taken= 983002
--------------------------------
```
Along with the `square()` method, the constructor is also getting JIT compiled because there is a Demo instance inside the `for` loop before calling `square()`. Hence, it will also reach the threshold and be JIT compiled. This example illustrates when JIT comes into play after interpretation.
可以看到,与 `square()` 方法一起,构造方法也被 JIT 编译了。在 `for` 循环中调用 `square()` 之前要先构造 `Demo` 实例,所以构造方法的解释次数同样达到 JIT 编译阈值。这个例子说明了在解释发生之后何时 JIT 会介入。
To see the compiled version of the code, use the `-XX:+PrintAssembly flag`, which works only if there is a disassembler in the library path. For OpenJDK, use the `hsdis` disassembler. Download a suitable disassembler library— in this case, `hsdis-amd64.so` — and place it under `Java_HOME/lib/server`. Make sure to use `-XX:+UnlockDiagnosticVMOptions` before `-XX:+PrintAssembly`. Otherwise, JVM will give you a warning.
要查看编译后的代码,需要使用 `-XX:+PrintAssembly` 标志,该标志仅在库路径中有反汇编器时才起作用。对于 OpenJDK使用 `hsdis` 作为反汇编器。下载合适版本的反汇编程序库,在本例中是 `hsdis-amd64.so`,并将其放在 `Java_HOME/lib/server` 目录下。使用时还需要在 `-XX:+PrintAssembly` 之前增加 `-XX:+UnlockDiagnosticVMOptions` 选项。否则JVM 会给你一个警告。
The entire command is as follows:
完整命令如下:
```
$ java -Xbatch -XX:+PrintCompilation -XX:CompileCommandFile=hotspot_compiler \ -XX:-TieredCompilation -XX:CompileThreshold=5 -XX:+UnlockDiagnosticVMOptions \ -XX:+PrintAssembly Demo
@@ -354,23 +357,23 @@ Square(i) = 100
Time taken= 52888
```
The output is lengthy, so I've included only the output related to `Demo.java`.
我只截取了输出中与 `Demo.java` 相关的部分。
Now it's time for AOT compilation. This option was introduced in JDK9. AOT is a static compiler to generate the `.so` library. With AOT, the interested classes can be compiled to create an `.so` library that can be directly executed instead of interpreting or JIT compiling. If JVM doesn't find any AOT-compiled code, the usual interpretation and JIT compilation takes place.
现在再来看看 AOT 编译。它是在 JDK9 中引入的特性。AOT 是用于生成 `.so` 这样的库文件的静态编译器。用 AOT 可以将指定的类编译成 `.so` 库。这个库可以直接执行,而不用解释或 JIT 编译。如果 JVM 没有检测到 AOT 编译的代码,它会进行常规的解释和 JIT 编译。
The command used for AOT compilation is as follows:
使用 AOT 编译的命令如下:
```
$ jaotc --output=libDemo.so Demo.class
```
To see the symbols in the shared library, use the following:
用下面的命令来查看共享库的符号表:
```
$ nm libDemo.so
```
To use the generated `.so` library, use `-XX:AOTLibrary` along with `-XX:+UnlockExperimentalVMOptions` as follows:
要使用生成的 `.so` 库,使用 `-XX:+UnlockExperimentalVMOptions` `-XX:AOTLibrary`
```
$ java -XX:+UnlockExperimentalVMOptions -XX:AOTLibrary=./libDemo.so Demo
@@ -387,7 +390,7 @@ Square(i) = 100
Time taken= 42085
```
This output looks as if it is an interpreted version itself. To make sure that the AOT compiled code is utilized, use `-XX:+PrintAOT` :
从输出上看,跟完全用解释的情况没有区别。为了确认 AOT 发挥了作用,使用 `-XX:+PrintAOT`
```
$ java -XX:+UnlockExperimentalVMOptions -XX:AOTLibrary=./libDemo.so -XX:+PrintAOT Demo
@@ -408,7 +411,7 @@ Square(i) = 100
Time taken= 53586
```
Just to make sure that JIT compilation hasn't happened, use the following:
要确认没有发生 JIT 编译,用如下命令:
```
$ java -XX:+UnlockExperimentalVMOptions -Xbatch -XX:+PrintCompilation \ -XX:CompileCommandFile=hotspot_compiler -XX:-TieredCompilation \ -XX:CompileThreshold=3 -XX:AOTLibrary=./libDemo.so -XX:+PrintAOT Demo
@@ -427,7 +430,7 @@ Square(i) = 100
Time taken= 59554
```
If any small change is made to the source code subjected to AOT, it's important to ensure that the corresponding `.so` is created again. Otherwise, the stale AOT-compiled `.so` won't have any effect. For example, make a small change to the square function such that now it's calculating cube:
需要特别注意的是,修改被 AOT 编译了的源代码后,一定要重新生成 `.so` 库文件。否则,过时的的 AOT 编译库文件不会起作用。例如,修改 `square()` 方法,使其计算立方值:
```
//Demo.java
@@ -451,13 +454,13 @@ public class Demo {
}
```
Now, compile `Demo.java` again:
重新编译 `Demo.java`
```
$ java Demo.java
```
But, don't create `libDemo.so` using `jaotc`. Instead, use this command:
但不重新生成 `libDemo.so`。使用下面命令运行 `Demo`
```
$ java -XX:+UnlockExperimentalVMOptions -Xbatch -XX:+PrintCompilation -XX:CompileCommandFile=hotspot_compiler -XX:-TieredCompilation -XX:CompileThreshold=3 -XX:AOTLibrary=./libDemo.so -XX:+PrintAOT Demo
@@ -482,11 +485,13 @@ sqrt(i) = 1000
Time taken= 47132
```
Though the old version of `libDemo.so` is loaded, JVM detected it as a stale one. Every time a `.class` file is created, a fingerprint goes into the class file, and a class fingerprint is kept in the AOT library. Because the class fingerprint is different from the one in the AOT library, AOT-compiled native code is not used. Instead, the method is now JIT compiled, because the `-XX:CompileThreshold` is set to 3.
可以看到,虽然旧版本的 `libDemo.so` 被加载了,但 JVM 检测出它已经过时了。每次生成 `.class` 文件时,都会在类文件中添加一个指纹,并在 AOT 库中保存该指纹。修改源代码后类指纹与旧的 AOT 库中的指纹不匹配了,所以没有执行 AOT 编译生成的原生机器码。从输出可以看出,现在实际上是 JIT 在起作用(注意 `-XX:CompileThreshold` 被设置为了 3
### AOT or JIT?
### AOT JIT 之间的权衡
If you are aiming to reduce the warm-up time of the JVM, use AOT, which reduces the burden during runtime. The catch is that AOT will not have enough data to decide which piece of code needs to be precompiled to native code.  By contrast, JIT pitches in during runtime and impacts the warm-up time. However, it will have enough profiling data to compile and decompile the code more efficiently.
如果你的目标是减少 JVM 的预热时间,请使用 AOT这可以减少运行时负担。问题是 AOT 没有足够的数据来决定哪段代码需要预编译为原生代码。相比之下JIT 在运行时起作用,却对预热时间有一定的影响。然而,它将有足够的分析数据来更高效地编译和反编译代码。
*题图MJ/ed3e6e15-56c7-4c1d-aff1-84a225faeeeb*
--------------------------------------------------------------------------------
@@ -494,8 +499,8 @@ via: https://opensource.com/article/22/8/interpret-compile-java
作者:[Jayashree Huttanagoudar][a]
选题:[lkxed][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
译者:[toknow-gh](https://github.com/toknow-gh)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
@@ -504,3 +509,4 @@ via: https://opensource.com/article/22/8/interpret-compile-java
[1]: https://opensource.com/sites/default/files/lead-images/studying-books-java-couch-education.png
[2]: https://www.wocintechchat.com/
[3]: https://creativecommons.org/licenses/by/2.0/
[0]: https://img.linux.net.cn/data/attachment/album/202311/06/093552kheiob71meqierhd.png

View File

@@ -0,0 +1,121 @@
[#]: subject: "How ODT files are structured"
[#]: via: "https://opensource.com/article/22/8/odt-files"
[#]: author: "Jim Hall https://opensource.com/users/jim-hall"
[#]: collector: "lkxed"
[#]: translator: "toknow-gh"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16340-1.html"
开放文档格式 ODT 文件格式解析
======
![][0]
> 开放文档格式ODF基于开放标准你可以使用其它工具检查它们甚至从中提取数据。你只需要知道从哪里开始。
过去,文字处理文件是封闭的专有格式。在一些较旧的文字处理软件中,文档文件本质上是该软件的内存转储。虽然这样可以让加载文件更快,但也使文档文件格式变得不透明。
2005 年左右,<ruby>结构化信息标准促进组织<rt> Organization for the Advancement of Structured Information Standards</rt></ruby>OASIS为所有类型的办公文档定义了一种开放格式即<ruby>办公应用程序开放文档格式<rt>Open Document Format for Office Applications</rt></ruby>ODF。由于 ODF 是基于 [OpenOffice.org][4] 的 XML 文件规范的开放式标准,因此你也可以将其简称为 “开放文档格式”。ODF 包括几种文件类型,包括用于 <ruby>开放文档文本OpenDocument Text</rt></ruby> 文档的 ODT。ODT 文件中有很多值得探索的内容,它的本质是一个 Zip 文件。
### ODT 文件结构
跟所有 ODF 文件一样ODT 文件实际上是一个 XML 文档和其它文件的 Zip 压缩包。使用 Zip 可以占用更少的磁盘空间,同时也意味着可以用标准 Zip 工具来检查它。
我有一篇关于 IT 领导力的文章名为“Nibbled to death by ducks”我将其保存为 ODT 文件。由于 ODF 文件是一个 zip 容器,你可以用 `unzip` 命令来检查它:
```
$ unzip -l 'Nibbled to death by ducks.odt'
Archive: Nibbled to death by ducks.odt
Length Date Time Name
39 07-15-2022 22:18 mimetype
12713 07-15-2022 22:18 Thumbnails/thumbnail.png
915001 07-15-2022 22:18 Pictures/10000201000004500000026DBF6636B0B9352031.png
10879 07-15-2022 22:18 content.xml
20048 07-15-2022 22:18 styles.xml
9576 07-15-2022 22:18 settings.xml
757 07-15-2022 22:18 meta.xml
260 07-15-2022 22:18 manifest.rdf
0 07-15-2022 22:18 Configurations2/accelerator/
0 07-15-2022 22:18 Configurations2/toolpanel/
0 07-15-2022 22:18 Configurations2/statusbar/
0 07-15-2022 22:18 Configurations2/progressbar/
0 07-15-2022 22:18 Configurations2/toolbar/
0 07-15-2022 22:18 Configurations2/popupmenu/
0 07-15-2022 22:18 Configurations2/floater/
0 07-15-2022 22:18 Configurations2/menubar/
1192 07-15-2022 22:18 META-INF/manifest.xml
970465 17 files
```
我想强调 Zip 文件结构的以下几个元素:
1. `mimetype` 文件用于定义 ODF 文档。处理 ODT 文件的程序,如文字处理程序,可以使用该文件来验证文档的 MIME 类型。对于 ODT 文件,它应该总是:
```
application/vnd.oasis.opendocument.text
```
2. `META-INF` 目录中有一个 `manifest.xml` 文件。它包含查找 ODT 文件其它组件的所有信息。任何读取 ODT 文件的程序都从这个文件开始定位其它内容。例如,我的 ODT 文档的 `manifest.xml` 文件包含这一行,它定义了在哪里可以找到主要内容:
```
<manifest:file-entry manifest:full-path="content.xml" manifest:media-type="text/xml"/>
```
3. `content.xml` 文件包含文档的实际内容。
4. 我的文档中只有一张截图,它位于 `Pictures` 目录中。
### 从 ODT 中提取文件
由于 ODT 文档是一个具有特定结构的 Zip 文件,因此可以从中提取文件。你可以先解压缩整个 ODT 文件,例如使用 `unzip` 命令:
```
$ unzip -q 'Nibbled to death by ducks.odt' -d Nibbled
```
一位同事最近向我要了一份我在文章中提到的图片。通过查看 `META-INF/manifest.xml` 文件,我找到了嵌入图像的确切位置。用 `grep` 命令可以找到描述图像的行:
```
$ cd Nibbled
$ grep image META-INF/manifest.xml
<manifest:file-entry manifest:full-path="Thumbnails/thumbnail.png" manifest:media-type="image/png"/>
<manifest:file-entry manifest:full-path="Pictures/10000201000004500000026DBF6636B0B9352031.png" manifest:media-type=" image/png”/>
```
我要找的图像保存在 `Pictures` 文件夹中。可以通过列出目录的内容来验证:
```
$ ls -F
Configurations2/ manifest.rdf meta.xml Pictures/ styles.xml
content.xml META-INF/ mimetype settings.xml Thumbnails/
```
就是这张图片:
![Image of rubber ducks in two bowls][5]
### 开放文档格式
ODF 是一种开放的文件格式它可以描述文字处理文件ODT、电子表格文件ODS、演示文稿ODP和其它文件类型。由于 ODF 格式基于开放标准,因此可以使用其他工具检查它们,甚至从中提取数据。你只需要知道从哪里开始。所有 ODF 文件都以 `META-INF/manifest.xml` 为“引导”文件,通过它你能找到其余的所有内容。
*题图MJ/d245ab34-f0b0-452c-b29a-ece9aa78f11a*
--------------------------------------------------------------------------------
via: https://opensource.com/article/22/8/odt-files
作者:[Jim Hall][a]
选题:[lkxed][b]
译者:[toknow-gh](https://github.com/toknow-gh)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://opensource.com/users/jim-hall
[b]: https://github.com/lkxed
[1]: https://opensource.com/sites/default/files/lead-images/coffee_tea_laptop_computer_work_desk.png
[2]: https://unsplash.com/@jonasleupe?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText
[3]: https://unsplash.com/s/photos/tea-cup-computer?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText
[4]: http://OpenOffice.org
[5]: https://opensource.com/sites/default/files/2022-07/ducks.png
[0]: https://img.linux.net.cn/data/attachment/album/202311/01/223607j3nvjcuw5jcocbz3.jpg

View File

@@ -0,0 +1,112 @@
[#]: subject: "Why Companies Need to Set Up an Open Source Program Office"
[#]: via: "https://www.opensourceforu.com/2022/08/why-companies-need-to-set-up-an-open-source-program-office/"
[#]: author: "Sakshi Sharma https://www.opensourceforu.com/author/sakshi-sharma/"
[#]: collector: "lkxed"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16341-1.html"
为什么公司需要设立开源项目办公室
====
![][0]
> 要想软件产品能够成功,关键在于管理开源软件的使用并降低合规风险。开源项目办公室能帮助组织实现这一目标。让我们一起深入了解。
<ruby>开源软件<rt>Open source software</rt></ruby>OSS是构建现代软件解决方案的重要组成部分。无论是服务于内部或是面向客户的解决方案如今的组织都在很大程度上依赖于开源软件。开源软件组件受其独立的授权条款约束对这些条款的不合规操作往往会使组织面临安全和知识产权IP风险这进而可能会损害公司的品牌价值。
当开发团队正忙于发布软件版本时,他们的主要目标是满足项目的截止日期。因此,他们在跟踪组件版本、库或者引入项目的第三方代码时,往往疏于应有的严格性。这意味着带有许可限制或漏洞的开源软件组件可能会进入代码库,然后交付给客户,这对客户和提供软件解决方案的公司都将带来风险。
开发人员为开源项目做出贡献的领域也日益具有挑战性。如果公司能够参与,他们可以获得多种益处,包括保持技能的最新性,挽留员工,吸引开发者为组织工作,以及提升公司形象。很多开源项目要求开发者签署贡献者许可协议,该协议声明由开发者创建的知识产权属于该项目,而非开发者本人。在这种情况下,组织需要确保那些不公开源代码的知识产权和商业机密不会被转让给开源项目。
我们需要教育开发者去了解开源许可的相关问题,确定何时、如何以及在何种程度上向社区提供支持,以及哪些软件包可能会给组织的声誉带来风险。通过制定一套战略性的政策和操作流程,我们可以规范这一切。实现上述目标的一种方式就是设立一个专门处理所有开源相关事务的部门——即 <ruby>开源项目办公室<rt>open source program office</rt></ruby>OSPO
OSPO 为员工使用开源软件创建了一个生态环境使合规风险得到良好的控制。OSPO 的角色不仅在于监督开源软件的使用,它还负责回馈社区,并通过积极参与各种活动以及组织网络研讨会和促销活动,来推动公司在市场上的增长。
在这篇文章里,我们将深入探讨为何公司需要设立一个 OSPO以及它是如何在开源政策和管理程序中崭露头角的。
### 为何我们需要一个开源项目办公室OSPO
由于开源软件正广泛地被运用,因此在产品开发周期中,为团队对其使用的监管和维持合规性策略往往会带来重大压力。
开发者往往会忽略许可证责任有时甚至管理层或各利益相关方也并未完全意识到不遵守这些开源许可证的影响。不论是用于内部还是外部目的OSPO 能处理从开始引入开源软件,直至交付给终端用户的过程中的所有环节。
通过在软件开发生命周期早期阶段开始进行合规性和规章制度的检查OSPO 能构筑坚实的基础。这通常开始于引导和整合团队成员共同迈向一个能惠及组织价值观的方向。OSPO 会设定关于开源使用的政策和流程,并在公司内部进行角色和职责的管理。
总结来说OSPO 有助于整合所有参与产品构建的相关团队的努力,进而提升组织更好和更有效使用开源的能力。
#### 开源项目办公室OSPO的崛起
诸如微软、谷歌和 Netflix 等公司已经在自身组织内部设立了成熟的 OSPO。此外像 Porsche 和 Spotify 这样的公司也在建立自己的 OSPO以实现开源的高效利用。
以下是一些知名公司的领导者对 OSPO 实践的看法:
* “对于公司来说这是一种文化的变迁”Jeff McAffer 解释了他的观点,他曾经多年负责微软的 OSPO并现在是 GitHub 的产品主管,致力于在企业界推动开源的发展。“很多公司并不习惯与外部团队合作。”
* “工程、业务、法律每一方的利益相关者都有他们各自的目标和角色,往往需要在速度、质量和风险之间做出权衡,” Spotify 的开源主管 Remy DeCausemaker 解释道。“ OSPO 的任务就是协调和连接这些单独的目标,融合成一个能够减少摩擦的全面策略。”
* Verizon Media 的 OSPO 领导 Gil Yahuda 表达了他的观点,“我们正在寻找创造一个人才愿意融入其中的工作环境。我们的工程师都知道,他们处在一个欢迎开源的环境中,他们在这里被鼓励与他们工作相关的开源社区合作。”
![图 12018-2021年各行业开源项目办公室的普及情况 来源https://github.com/todogroup/osposurvey/tree/master/2021][1]
### 开源项目办公室OSPO的职能
OSPO 的职能可能会根据组织的员工数量、OSPO 团队的人数以及开源的运用目的不同而有所差异。组织可能只想利用开源软件来开发产品,也可能同时计划向社区做出贡献。
OSPO 的角色可能会包括评估哪些开源许可证是适宜的以及是否应让全职员工参与开源项目等任务。为愿意贡献的开发人员制定贡献者许可协议CLA并确定哪些开源组件有助于产品的快速成长和质量提升也是 OSPO 的重要职责。
OSPO 的主要职能包括但不限于:
* 建立开源合规和治理政策来降低组织的知识产权风险
* 培育开发者做出更佳决策的能力
* 制定政策规范与公司全面采用开源的工作。
* 监控组织内外开源软件的使用情况
* 在每次软件版本发布后组织会议,讨论开源软件合规流程的优点及改进空间
* 加快软件开发生命周期SDLC
* 提高不同部门之间的透明度和协调性
* 通过简化流程在早期阶段降低风险
* 鼓励团队成员向上游贡献,以享受开源项目的协作和创新优势
* 提供包含合适补救措施和产品团队建议的报告
* 准备合规文档,确保满足许可证的义务
### 构建开源项目办公室OSPO的过程
OSPO 的组成通常包括公司内多个部门的人员。这个过程涉及了对相关部门进行开源合规基础和使用风险的培训与教育。OSPO 可能提供法律和技术支持,以确保达成开源的目标需求。
组织内的 OSPO 可能包括以下人员(这只是一个可能参与的人员名单,并不是详尽无遗的清单):
* 主任/首席:主任或首席通常是 OSPO 的主要负责人。他能全方位掌控使用开源的各个方面,包括使用不同组件的影响,许可证的含义,以及开发和社区贡献等。这些要求完全取决于公司的需求。
* 项目经理:项目经理为目标解决方案设置需求和目标。他/她将与产品和工程团队共同工作,以协调工作流程。这包括以开发者友好的方式确保策略和工具的实施。
* 法律支持:法律支持可能来自公司外部或者内部,但他们在 OSPO 中扮演着重要角色。法律团队将与项目经理密切合作,定义管理开源软件使用的策略,包括每个产品允许使用的开源许可证,如何(或是否)向现有的开源项目贡献等。
* 产品和工程团队/开发者:工程团队需要熟悉开源许可及其相关风险。团队在使用任何开源组件之前,必须得到 OSPO 的批准。团队可能需要定期接受关于开源合规基础以及其使用的培训。
* 首席技术官/信息官/利益相关者:公司的领导对 OSPO 策略有着巨大影响。利益相关者在任何产品解决方案的决策过程中拥有很大的决定权。因此,工程副总裁,首席技术官/信息官,或者首席合规/风险官员需要参与 OSPO 的工作。
* IT 团队:来自 IT 部门的支持十分重要。OSPO 可能被分配实施内部工具的任务如提高开发者效率监控开源合规或者设置开源安全措施等。IT 团队在协助连接工作流程和确保以开发者友好的方式实施策略方面起着关键作用。
在 TODO 组织于 2021 年执行的 OSPO 调查中,得出了以下的关键发现:
* 教育企业理解 OSPO 如何为他们带来益处的机会仍然巨大。
* OSPO 对其赞助方的软件实践有显著的积极影响,但影响的具体效果并因组织规模的大小而异。
* 那些有意设立 OSPO 的公司,他们期望 OSPO 能提升创新,但策略设立及预算力度仍然是实现目标的主要挑战。
* 调查参与者中近半数尚未设立 OSPO 的人认为 OSPO 将有助于他们公司的发展,然而在那些认为 OSPO 无助于公司发展的人群中,有 35% 的人还未对此事有所考虑。
* 27% 的调查参与者表示,一家公司对开源参与的程度会深刻影响他们组织的购买决策。
如今,在构建任何软件解决方案时,对开源软件的依赖几乎是无法避免的。然而,开源许可证相关的潜在风险也不容忽视。因此,我们需要一套策略性的流程来有效解决使用开源组件带来的合规性问题。
通过建立一支集中的专业团队OSPO 能帮助公司确立规范的开源文化让员工了解并熟悉与组织内开源使用相关的所有事宜。此外OSPO 还可以发挥引导作用,吸纳行业内的顶级人才,这无疑将对实现商业目标产生积极影响。
*题图MJ/9a3e106d-0710-4dd7-b278-ef1056c5c5ab*
--------------------------------------------------------------------------------
via: https://www.opensourceforu.com/2022/08/why-companies-need-to-set-up-an-open-source-program-office/
作者:[Sakshi Sharma][a]
选题:[lkxed][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://www.opensourceforu.com/author/sakshi-sharma/
[b]: https://github.com/lkxed
[1]: https://www.opensourceforu.com/wp-content/uploads/2022/07/Figure-1-OSPO-prevalence-by-industry-2018-2021-2.jpg
[0]: https://img.linux.net.cn/data/attachment/album/202311/01/232800a8c8bk3b83rtbn6x.jpg

View File

@@ -0,0 +1,225 @@
[#]: subject: "Are You Familiar with These Popular Open Source Databases?"
[#]: via: "https://www.opensourceforu.com/2022/09/are-you-familiar-with-these-popular-open-source-databases/"
[#]: author: "Jishnu Saurav Mittapalli https://www.opensourceforu.com/author/jishnu-saurav-mittapalli/"
[#]: collector: "lkxed"
[#]: translator: "toknow-gh"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16374-1.html"
你应该知道的主流开源数据库
======
![][0]
> 随着数据的飞速增长,数据的组织变得至关重要。本文将简要介绍当今软件开发中最流行的数据库。
在软件系统中,数据被格式化地组织和存储,通过数据库可以以电子方式访问它们。因为数据已经成为一种非常重要的资产,对我们来说,掌握当今使用的各种数据库的基本知识是非常重要的。
我们要看的第一个数据库是 MySQL。
### MySQL
[MySQL 官网](https://www.mysql.com/cn/)
MySQL 是使用最广泛的开源数据库管理系统之一。它由<ruby>甲骨文公司<rt>Oracle Corporation</rt></ruby>所有。它可以在大多数主流操作系统上运行,如 Windows、MacOS、Linux 等。MySQL 既适用于小型应用,同时也能胜任大型应用。
#### 优点
* 适配各种操作系统
* 适配多种编程语言,如 PHP、C、C++、Perl 等
* 开源、免费
* 它支持高达 8 百万 Tb 的巨大数据量
* 可定制化
* 比其他数据库快得多
要在基于 Ubuntu 的计算机上安装并使用 MySQL使用下面的命令
```
$sudo apt update
$sudo apt install mysql-server
$sudo systemctl start mysql.service
```
### MariaDB
[MariaDB 官网](https://mariadb.org/)
MariaDB 是一款由 MySQL 的开发人员开发的开源关系型数据库,因其优秀的性能和与 MySQL 良好的兼容性而广受欢迎。它是当今大多数主要云产品的一部分,对其稳定性和性能起到重要作用。最近通过使用 Galera Cluster 技术MariaDB 新增了集群功能。另外 MariaDB 还与 Oracle 数据库有(一定的)兼容性。
#### 优点
* 安装方便
* 支持大数据操作
* 高可扩展性
* 易于导入数据
要在基于 Ubuntu 的计算机上安装并使用 MariaDB请使用以下命令:
```
$sudo apt update
$sudo apt install mariadb-server
$sudo systemctl start mariadb.service
```
### RethinkDB
[RethinkDB 官网](https://rethinkdb.com/)
RethinkDB 是一个开源、免费、分布式、基于文档的 NoSQL 数据库。它由 RethinkDB 公司开发。LCTT 译注RethinkDB 公司已于 2016 年倒闭。RethinkDB 数据库现作为开源项目继续维护。[消息来源](https://rethinkdb.com/blog/rethinkdb-shutdown/))它可以存储具有动态模式的 JSON 文件。更重要的是它可以将查询结果的实时更新推送给应用程序。由于它的分布式特性它具有高度可扩展性。RethinkDB 提供了丰富的内置函数,使其成为一个高可用性的数据库。由于它是当今流行的数据库,学习如何使用它是很重要的。
#### 优点
* 适合于 Web 应用
* 易于扩展
* 内置函数多,可用性高
* 基于 JSON 动态文档
要在基于 Ubuntu 的计算机上使用 RethinkDB下面的命令会有帮助
```
# 添加软件仓库源
source /etc/lsb-release && echo "deb https://download.rethinkdb.com/repository/ubuntu-$DISTRIB_CODENAME $DISTRIB_CODENAME main" | sudo tee /etc/apt/sources.list.d/rethinkdb.list
# 下载并安装 RethinkDB 的 GPG 密钥
$wget -qO- https://download.rethinkdb.com/repository/raw/pubkey.gpg | sudo apt-key add -
$sudo apt update
$sudo apt-get install rethinkdb
$sudo systemctl start rethinkdb
```
### OrientDB
[OrientDB 官网](https://orientdb.org/)
OrientDB 是一个基于 Java 的开源 NoSQL 数据库管理系统。它支持多种数据模型,比如文档、字典、对象和图。它以图数据库的形式存储关系。下面的命令可以帮助你在 Ubuntu 机器上使用 OrientDB
```
$sudo apt-get update
$wget -O orientdb-community-2.2.20.tar.gz http://orientdb.com/download.php?file=orientdb-community-2.2.20.tar.gz&os=linux
$tar -zxvf orientdb-community-2.2.20.tar.gz
$sudo mv ~/orientdb-community-2.2.20 /opt/orientdb
```
### CouchDB
[CouchDB 官网](https://couchdb.apache.org/)
CouchDB 是用 Erlang 开发的开源 NoSQL 数据库。它使用多种协议和格式来传输、处理和共享数据。它使用 JSON 格式存储数据,支持 MapReduce并用 JavaScript 作为查询语言。
#### 优点
* 可以存储任何类型的数据
* 支持 MapReduce可以高效地处理数据
* 整体结构非常简单
* 索引和检索速度快
下面的命令可以帮助你在 Ubuntu 机器上使用 CouchDB
```
$echo "deb https://apache.bintray.com/couchdb-deb focal main" >> /etc/apt/sources.list
$sudo apt-get update
$sudo apt install apache2 couchdb -y
```
### Firebird
[Firebird 官网](https://firebirdsql.org/)
Firebird 是一个开源关系型数据库。它兼容所有操作系统,如 Linux、Windows 和 MacOS。它最初是从开源数据库 Interbase 派生而来的。
#### 优点
* 数据库功能不受限制
* 非常稳定,功能强大
* 配置和使用简单
以下命令可以帮助你在 Ubuntu 机器上使用 Firebird
```
$sudo apt-get update
$sudo apt-get install firebird2.5-superclassic
```
### Cassandra
[Cassandra 官网](https://cassandra.apache.org/_/index.html)
Cassandra 是一个 Apache 基金会旗下的 NoSQL 数据库。它具有高度可扩展性、分布式、高性能的特点,可以很好地处理大量数据。其分布式的特性,使它没有单点故障。
#### 优点
* 高性能
* 高可扩展性
* 采用点对点架构
以下命令可以帮助你在 Ubuntu 机器上使用 Cassandra
```
$curl https://www.apache.org/dist/cassandra/KEYS | sudo apt-key add -
$sudo apt-get update
$sudo apt-get install cassandra
$sudo systemctl enable cassandra
$sudo systemctl start cassandra
```
### PostgreSQL
[PostgreSQL 官网](https://www.postgresql.org/)
如今PostgreSQL 是最流行的开源关系数据库管理系统之一。它易于扩展,同时还与 SQL 兼容。这个数据库管理系统经过了 30 多年的积极开发。
#### 优点
* 与 MySQL 相比Postgres 可以存储更多种类的数据
* 支持几乎所有的 SQL 特性
* 高度可扩展
下面的命令可以帮助你在 Ubuntu 机器上使用 PostgreSQL
```
$sudo apt-get update
$sudo apt-get install postgresql postgresql-contrib
```
### CockroachDB
[CockroachDB 官网](https://www.cockroachlabs.com/#)
CockroachDB 是一个为可靠性而生的数据库。它可以像<ruby>蟑螂<rt>cockroach</rt></ruby>一样在灾难性的情况下顽强生存、蓬勃发展。它可以处理大量的数据。还可以构建多集群数据库。
#### 优点
* 很容易部署
* 高一致性
* 分布式事务
* 高可用性
* 兼容 SQL
### Redis
[Redis 官网](https://redis.io/)
Redis 是一个基于键值的开源 NoSQL 数据存储数据库。它支持各种类型的键,使用非常方便。
### 结语
我们已经浏览了最知名和最流行的开源数据库管理系统。了解这些不同的数据库非常有趣。尝试不同的选择,发现最适合你需求的数据库。另外,一定要查看这些数据库的官方文档。
*题图MJ/40ba9f14-5948-431a-a899-36c6b1ff4dfe*
--------------------------------------------------------------------------------
via: https://www.opensourceforu.com/2022/09/are-you-familiar-with-these-popular-open-source-databases/
作者:[Jishnu Saurav Mittapalli][a]
选题:[lkxed][b]
译者:[toknow-gh](https://github.com/toknow-gh)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://www.opensourceforu.com/author/jishnu-saurav-mittapalli/
[b]: https://github.com/lkxed
[0]: https://img.linux.net.cn/data/attachment/album/202311/13/092356pzxmjf7xtfnqft5t.png

View File

@@ -0,0 +1,113 @@
[#]: subject: "Remixing Linux for blind and visually impaired users"
[#]: via: "https://opensource.com/article/22/9/linux-visually-impaired-users"
[#]: author: "Vojtech Polasek https://opensource.com/users/vpolasek"
[#]: collector: "lkxed"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16397-1.html"
Vojtux针对视力障碍用户改造 Linux
======
![][0]
> Vojtux 是 Fedora 项目的一部分,它是一款专门为视力障碍者打造的非官方 Linux 发行版。
我五岁时,父亲给我们带来了第一台电脑。那一刻,我就明确了自己的职业追求:计算机领域。从那时起,我就一直和电脑打交道。在高中阶段,我开始尝试黑客活动,以决定自己专注于何种领域,最终我选择了安全工程师作为我的职业。
如今,我已经在红帽的安全合规团队任职软件工程师两年多了,我在捷克进行远程工作。我已经使用 Linux 12 年了,主要是 Arch Linux 和 Fedora然而我过去也管理过 Debian、Gentoo 和 Ubuntu。
![Vojtech 的图片][1]
*图片说明:这是一张黑白的笑脸 Vojtech 图片,图中有一个红色边框,背景是一架纸飞机。*
工作之余我玩盲人足球我还参与了许多项目这些项目都是为了帮助视力障碍者和视力正常人群建立联系。包括我还在一个为视力障碍者举办活动的小型非政府组织NGO工作。我还在开发一个叫做 [Vojtux][2] 的 Fedora 项目,这也是一个专门为视力障碍者打造的非官方 Linux 发行版。
### 辅助技术栈
我在使用智能设备时,需要依赖多种辅助技术,其中最主要的一款叫做屏幕阅读器。它是一款能将屏幕上的内容通过语音或盲文传达给视力障碍者的软件(简单来说,它就像我们的眼睛)。它能读并通知我当前正在关注的按钮或页面元素是什么,使得我能够与图形用户界面进行互动。
屏幕阅读器使用语音合成技术,将屏幕上的内容声音化。市面上有众多的语音合成器,有些听起来比别的更自然。我使用的是 Espeak它听起来没有那么自然但是它很轻便运行也很快。此外它几乎支持所有的语言包括我正在使用的捷克语。
最后,我使用了一台能以盲文显示一行文字的盲文显示器,尤其在我写代码或者做代码审查的时候,我离不开它。通过触觉自由地从一个代码元素转移到另一个元素,使我能更轻松地把握代码的结构。我还可以使用它的按钮将光标移至我感兴趣的字符或屏幕区域,如果我想的话,我还能使用上面的盲文键盘输入。
### 我在日常生活中如何应用辅助技术
作为一个视障人士在使用电脑时,有许多事情其实可以借助上述技术轻松完成。以下是我日常经常做的一些事情:
- 我十分喜欢使用文本控制台。一般来说,只要是文字信息,盲人就可以借助屏幕阅读器进行阅读(虽然并非所有情况都适用,但在大多数情况下是可行的)。我通常用控制台进行系统管理、文本编辑以及查阅指导手册和文档。
- 我喜欢浏览网络并与网页进行互动。
- 我使用 VSCode 和 [Eclipse][3] 进行代码编写以及代码审查工作。
- 我会发送电子邮件以及进行即时通讯。
- 我可以使用诸如谷歌文档(虽非开源,但在现代办公环境中广为使用)和 [LibreOffice][4] 这样的文本处理软件。谷歌文档的开发团队加入了许多键盘快捷键,我可以利用它们在文档中浏览、跳转到标题或者注释里等等。
- 通常来说,我能够播放多媒体内容,但这也取决于应用程序的开发方式,有些媒体播放器在这方面做得更好。
### 可行,但困扰重重
随着技术的进步,一些任务尽管是可行的,但完成起来却相当困难,我称这类任务为“可行,但困扰重重”。
处理 PDF 文件非常艰难。有时我不得不采用光学字符识别OCR软件将图像转换为文本。例如我最近需要阅读一份餐厅菜单他们在他们的网站上提供 PDF 菜单,但它已经被压平,丧失了文字层。在我这里,这显示为一片空白屏幕。我只能通过在智能手机上使用 OCR 应用程序来帮我提取文本。这不仅需要额外的步骤,而且提取的文本翻译并不总是完全准确。
查看和创建演示文稿也可能困难重重。为了解决这个问题,我采用像 [Pandoc][5] 这样的软件用 HTML 创建幻灯片,它可以处理 [Markdown][6] 并将其转换成幻灯片。我已经使用这种方法好几年了,效果很好。它允许我完全掌控生成的幻灯片,因为 Markdown 就是简单的文本。
通过将其基于声音或文字,可以使视频游戏更易于接入。然而,在 Linux 上玩游戏可以是一大挑战,不仅需要找到能够进行无障碍访问的游戏,而且由于大多数 PC 游戏原生支持 Windows因此还需要处理一些兼容性问题。
有些网站和界面比其他的难以导航。往往只需要通过正确设置一些属性,这些问题就可以很容易地得到解决。一般来说,大量的网页内容都以图像的形式存在。提高网页内容可访问性的一个快速有效的方法就是确保图像都添加了替代文本,使得屏幕阅读器可以读出来,让无法辨识图像的人们也能了解图像内容。还有另一种经常遇到的情况是遇到没有标签的控件:你知道那里有一个按钮或复选框,但你无法确定它具体的功能。
### Vojtux 项目:为了更好的 Linux 可访问性
开发者并不是特意设计出无障碍访问困难的应用程序,问题在于他们通常不清楚如何测试可访问性。由于视障 Linux 用户数量有限,可访问性的测试和反馈往往不足。因此,开发者往往不能生产易于访问的应用,用户也相应较少。这样形成了一个恶性循环。
Vojtux 项目就是希望能处理这个问题。我们希望能建立一个对视障用户更友好的 Fedora 改造版本。我们的目标是吸引更多用户,并鼓励他们发现并报告问题,以便开源社区的开发者可以解决这些问题。
你可能会问为什么要做这个项目我们需要明确的是Fedora 在设计上并非就没有可访问性,实际上,它有许多作为包的形式存在的辅助工具。但这些工具不是从一开始就存在,且需要许多细小的配置才能顺利使用,这可能会让初次使用 Fedora 的用户感到困惑。
我们期望 Vojtux 对视障用户而言尽可能友好和可预知。当用户启动立付镜像时,只需出现图形用户界面,屏幕阅读就会立即开始。所有必要的可访问性 [环境变量][7] 将会被正确地加载和配置。
Vojtux 还实现了以下功能,例如:
- 配置开机就能使用的辅助性环境变量。
- 图形界面一加载Orca 屏幕阅读器就会启动。
- 添加了自定义库,该库包含额外的语音合成和打包软件。
- 添加了许多替代键盘快捷键。
- 还有一个特别的脚本可以控制显示器的开关。很多用户根本不需要显示器,关闭它则是一种极好的节能方式!
### 想要帮忙?这就需要你了
首先,如果你希望为 Vojtux 做贡献(或只是帮助传播),可以在我们的 [项目库][2] 查找更多信息。
此外,在团队中与视障人士协作时,可能需要考虑应用哪些无障碍技术。例如,因为我们都是通过声音获取信息,所以我们很难同时进行听说和阅读,除非有人非常熟练于使用盲文显示器。
最后,要记住,无论是演示幻灯片、网站还是 PDF盲人和视障用户都与你使用相同的最终产品。当你开发产品或创作内容时你的选择对我们能否有效地进行互动和访问有着巨大的影响。知道我们在这里我们热爱使用计算机和科技并且我们经常愿意帮助你进行测试。
![Vojtech 手持足球的照片][8]
*图片说明:手持足球的 Vojtech他身穿足球服戴着防护眼镜。*
本文作者最初于 2022 年 9 月发布文章,并在后续将项目的官方名称更新为 Vojtux。
*题图MJ/06477e84-6119-45d0-8085-5936a607ee68*
--------------------------------------------------------------------------------
via: https://opensource.com/article/22/9/linux-visually-impaired-users
作者:[Vojtech Polasek][a]
选题:[lkxed][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://opensource.com/users/vpolasek
[b]: https://github.com/lkxed
[1]: https://opensource.com/sites/default/files/2022-08/Vojtech.png
[2]: https://github.com/vojtapolasek/Fegora
[3]: https://opensource.com/article/20/12/eclipse
[4]: https://opensource.com/article/22/2/libreoffice-accessibility
[5]: https://opensource.com/article/18/9/intro-pandoc
[6]: https://opensource.com/article/19/9/introduction-markdown
[7]: https://opensource.com/article/19/8/what-are-environment-variables
[8]: https://opensource.com/sites/default/files/2022-08/Vojtech%20holding%20a%20football.jpg
[0]: https://img.linux.net.cn/data/attachment/album/202311/19/213037vnff11ziqxnjcsft.png

View File

@@ -0,0 +1,332 @@
[#]: subject: "4 Incredibly Simple Ways to Customize Budgie Desktop in Linux"
[#]: via: "https://itsfoss.com/budgie-customization/"
[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "Drwhooooo"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16372-1.html"
4 种超简单的自定义 Budgie 桌面的方式
======
> Budgie 是一种现代的桌面体验方式。你可以根据自己的喜好,使用这些定制技巧进一步增强它的功能。
如果你要求我将 MATE 桌面现代化,并增加功能和 GTK 支持,我可能会想出像 Budgie 这样的东西!
Budgie是一款令人惊艳的桌面环境DE为你提供熟悉的布局和独特的用户体验。
那么,如何自定义你的 Budgie 桌面才能提升个人体验呢?莫慌;我这里有几条妙计助你改善你的 Budgie 体验。
我们的目标大致如下:
* 修改壁纸
* 修改主题,图标以及光标(简易操作)
* 自定义面板
* 自定义停靠区
让我们开始吧!🤩
### 1、改变 Budgie 桌面环境壁纸
Budgie 桌面预装了一些好看的壁纸。
修改 Budgie 桌面壁纸,你们只需要做这两个小步骤:
1. 在主界面点击右键,选择 “<ruby>改变桌面背景<rt>Change Desktop Background</rt></ruby>”
2. 选择图片,然后该图片就会应用在你的主屏幕中
![][1]
要是你不太中意其中的可用壁纸,你也可以自网络下载相关壁纸。
下好后,打开文件管理器,导航至图片所在位置,右键点击该图片,选择 “<ruby>设置为壁纸……<rt>Set as Wallpaper...</rt></ruby>”选项。
![][2]
### 2、修改桌面主题、图标以及光标主题
通常情况下,我们从网络上下载了主题,提取下载的文件,然后就会将文件移动到相应目录以便 [应用于 Linux 主题][3]。
> **[如何在 Ubnutu 上安装主题][3]**
但要那么整的话,既需要花费些功夫,又不是最高效的方法。(如果你好奇去试试的话)
那么此处便是 **ocs-url** 工具发力的地方了。
**ocs-url** 是一款一键安装所有主题风格(比如说来自 gnome-look.org 门户网站内容)的工具。
> 💡 Gnome-look.org 和 pling.com 是 [Opendesktop.org][5] 旗下的两个网络站点,可以帮助你一站式搜索主题风格,壁纸,图标,以及其它好物。
这个工具与任何桌面环境都没有官方隶属关系。
但令人遗憾的是,它没有被任何 Linux 发行版的软件包管理器包含,也就是说你得在你的系统里手动安装它。
那么首先,移动至 [ocs-url 的官方下载页面][6],转到 “<ruby>文件<rt>Files</rt></ruby>” 选项卡,将软件包下载至你的系统中:
![][7]
完成后,打开你的命令提示符,将文件地址改成文件下载的位置。对于大多数用户来说,便是下载(`Downloads`)文件夹:
```
cd Downloads
```
现在,使用你的 Linux 发行版对应的指令:
**适用于 Ubuntu**
```
sudo dpkg -i ocs-url*.deb
```
**适用于 Fedora**
```
sudo dnf install qt5-qtbase qt5-qtbase-gui qt5-qtsvg qt5-qtdeclarative qt5-qtquickcontrols && sudo rpm -i ocs-url*.rpm
```
**适用于 Arch**
```
sudo pacman -S qt5-base qt5-svg qt5-declarative qt5-quickcontrols && sudo pacman -U ocs-url*.pkg.tar.xz
```
**适用于 openSUSE**
```
sudo zypper install libQt5Svg5 libqt5-qtquickcontrols && sudo rpm -i ocs-url*.rpm
```
现在,让我们看看该如何安装主题风格,图标以及光标风格。
#### 修改系统主题风格
修改系统主题风格的第一步 —— 访问 [Gnome Look][8] 门户网站并选择你中意的主题风格(你可以在 GTK 3 和 GTK 4 之间选择)。
![][9]
选择任意你最喜欢的主题风格;这里我选择 “Kripton” 风格,你可以看到有一个 “<ruby>安装<rt>Install</rt></ruby>” 选项。
在这里,你需要遵循两个小步骤:
* 点击 “<ruby>安装<rt>Install</rt></ruby>” 按钮之后,会呈现该主题风格的不同类型。选择其中一个。
* 然后会跳出一个提示符,你需要再点击一次 “<ruby>安装<rt>Install</rt></ruby>” 按钮:
![][10]
然后它会打开 ocs-url 工具询问你是否安装所选主题风格。
点击 “<ruby>确定<rt>OK</rt></ruby>” 按钮安装该主题风格:
![][11]
现在,进入 <ruby>Budgie 桌面设置<rt>Budgie Desktop Settings</rt></ruby> 界面,然后在“<ruby>样式<rt>Style</rt></ruby>” 子菜单下的 “<ruby>组件<rt>Widget</rt></ruby>” 选项中点击需要安装的主题风格。
![][12]
#### 修改图标
要修改图标,先访问有关 [Gnome-look 门户网站中的图标区][13],来搜索你中意的图标:
![][14]
找到图标后,可以看到有两个按钮:“<ruby>下载<rt>Download</rt></ruby>” 和 “<ruby>安装<rt>Install</rt></ruby>”。点击 “<ruby>安装<rt>Install</rt></ruby>” 按钮。
可以看到有多个图标,但大多数例子里只展现了一个。点击选项之一,弹出提示,再次点击“<ruby>安装<rt>Install</rt></ruby>” 按钮:
![][15]
然后,可以看到来自 ocs-url 弹出的提示符询问你是否安装所选图标包,点击 “<ruby>确定<rt>OK</rt></ruby>” 安装图标包:
![][16]
下一步,打开 <ruby>Budgie 桌面设置<rt>Budgie Desktop Settings</rt></ruby> 的 “<ruby>图标<rt>icons</rt></ruby>” 子菜单,你便可以使用最近安装过的图标风格(我用过 elementary-kde 风格):
![][17]
#### 修改光标主题风格
和之前步骤类似,访问 [Gnome Look 门户网站的光标区][18] 搜索最适合你的光标:
![][19]
选好心仪的光标风格后,点击相应选项,然后你就可以安装相对应的光标风格了。
弹出提示,再次点击 “<ruby>安装<rt>Install</rt></ruby>” 按钮:
![][20]
弹出来自 ocs-url 工具的提示,点击安装光标主题风格。只需要点个 “<ruby>确定<rt>OK</rt></ruby>” 然后开始安装:
![][21]
完成后,打开 <ruby>Budgie 桌面设置<rt>Budgie Desktop Settings</rt></ruby> 界面,在对应子页面的 “<ruby>光标<rt>Cursors</rt></ruby>” 面板中选择刚刚安装的光标主题风格:
![][22]
### 3、自定义 Budgie 桌面面板
根据 Linux 发行版的不同,面板的位置也可能不同。例如,假设你用的是 Solus 的 Budgie 或者 Ubuntu 的 Budgie。
打开 <ruby>Budgie 桌面设置<rt>Budgie Desktop Settings</rt></ruby> ,在那里你可以寻找到对于面板的相关设置:
![][23]
如你所见,它将启用的小程序分三个部分显示在面板上:
<ruby>始端<rt>Start</rt></ruby>(最左侧)、<ruby>中间<rt>Center</rt></ruby>,以及 <ruby>末端<rt>End</rt></ruby>(最右侧)。
> 📋 注意,每个小程序有自己不同的设置选项,所以还能单独设置它们。
你可以在它们之间做些调整。比如,在这个地方我将时钟工具挪到左边,以便它和我的工作流界面看起来更加融洽:
![][24]
要想移动小程序,只需要选中该小程序然后点击上下箭头按钮(位于小程序列表上方)。
如果你想移除小程序,只需要选中该程序然后点击删除按钮即可:
![][25]
这里有一个 “+” 图标样式的选项,可以添加更多小程序。点击它,会为你弹出所有可用的小程序。
找到一个有用的小程序,选中该程序并点击 “<ruby>添加<rt>Add</rt></ruby>” 按钮:
![][26]
要是你希望面板变透明、想1添加阴影想增加或减少小程序之间的距离那么就访问设置菜单中的这个页面如下图
![][27]
举个例子,这里,我将自己的面板设置了透明和阴影,让它看起来更舒服点:
![][28]
### 4、定制 Budgie 桌面的停靠区
在本节,我会向你介绍如何将自己的停靠区设计得更好,功能性更强:
* 修改停靠区主题风格
* 添加更多工具应用以赋予停靠区更多特性
#### 修改停靠区主题风格
可惜啦,这次 ocs-url 工具可就帮不上什么忙了,设置的唯一方式就是手动操作!
首先,[访问 Gnome Look 的 Plank 主题区][29],下载你心仪的 Plank 停靠区主题风格。
这里,我选了模仿 macOS 系统的 Monterey 主题风格dark-inline 版):
![][30]
现在,打开命令提示符,找到该主题风格下载位置。
对大多数用户来说,即下载(`Downloads`)文件夹所在位置:
```
cd ~/Downloads
```
现在,[使用解压指令][31] 将文件释放到 `.local/share/plank/themes/`
```
unzip <theme_name.zip> -d .local/share/plank/themes/
```
在我的环境下是这样:
```
unzip Monterey-Dark-inline.zip -d ~/.local/share/plank/themes/
```
![][32]
然后,打开 “<ruby>Plank 偏好设置<rt>Plank preferences</rt></ruby>”,改成刚下载的主题。
我将我的风格改成 “Monterey -Dark inline”
![][33]
#### 添加 docklet 应用以增加更多特性
可以、把 docklet 应用当作 applet但与它不同的是没有太多选项。
想要添加或移除 docklet 应用,首先得需要打开 “<ruby>Plank 偏好设置<rt>Plank preferences</rt></ruby>”,然后访问 “Docklets” 菜单,列出可用选项:
![][34]
现在,如果你想添加一些 docklet 应用,只需要把它们拖进停靠区即可:
![][35]
但如果你想把添加的 docklet 应用移除出去呢?
简单,把它们从停靠区中拖拽出去就行了:
![][36]
### 准备好使用 Budgie 了吗?
当然,为了方便起见,你可以安装已内置 Budgie 桌面环境的 Linux 发行版。
或者你还是可以选择在你现有的发行版(比如说 Ubuntu中 [安装 Budgie][37]
> **[如何在 Ubuntu 上安装 Budgie][37]**
在本教程中,我使用的是 Ubuntu 版本的 Budgie。无论你使用哪个发行版这些步骤都适用于 Budgie 桌面。
💬 你是怎么自定义你的 Budgie 桌面的呢?你想为这篇文章贡献更多内容吗?在下方评论区分享你的经验吧。
*题图MJ/44c073b0-b866-4eeb-b3e0-579d7afe0992*
--------------------------------------------------------------------------------
via: https://itsfoss.com/budgie-customization/
作者:[Sagar Sharma][a]
选题:[lujun9972][b]
译者:[Drwhooooo](https://github.com/Drwhooooo)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/sagar/
[b]: https://github.com/lujun9972
[1]: https://itsfoss.com/content/images/2023/08/Change-wallpaper.png
[2]: https://itsfoss.com/content/images/2023/08/Set-third-party-wallpaper-in-budgie-desktop.png
[3]: https://itsfoss.com/install-themes-ubuntu/
[4]: https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png
[5]: https://www.opendesktop.org/
[6]: https://www.opendesktop.org/p/1136805/
[7]: https://itsfoss.com/content/images/2023/08/Download-ocs-url-in-budgie.png
[8]: https://www.gnome-look.org/browse?cat=135&ord=latest
[9]: https://itsfoss.com/content/images/2023/09/Open-gnome-look-to-install-system-themes-in-budgie-desktop.png
[10]: https://itsfoss.com/content/images/2023/09/Install-theme-from-ocs-url-in-budgie-dekstop.png
[11]: https://itsfoss.com/content/images/2023/09/Install-theme-from-ocs-url.png
[12]: https://itsfoss.com/content/images/2023/09/Change-theme-in-Budgie-desktop-using-the-budgie-desktop-settings-1.png
[13]: https://www.gnome-look.org/browse?cat=132&ord=latest
[14]: https://itsfoss.com/content/images/2023/09/Download-icons-for-budgie-desktop.png
[15]: https://itsfoss.com/content/images/2023/09/Install-icons-for-budgie-desktop-environment.png
[16]: https://itsfoss.com/content/images/2023/09/Use-ocs-url-to-install-icons-in-budgie-desktop-environment.png
[17]: https://itsfoss.com/content/images/2023/09/Select-icon-to-customize-the-budgie-desktop-from-budgie-desktop-settings.png
[18]: https://www.gnome-look.org/browse?cat=107&ord=latest
[19]: https://itsfoss.com/content/images/2023/09/Download-cursor-icons-for-budgie-desktop.png
[20]: https://itsfoss.com/content/images/2023/09/Install-cursor-icons-for-the-budgie-desktop-environment.png
[21]: https://itsfoss.com/content/images/2023/09/Install-the-cursor-icon-theme-in-budgie-desktop-environment-using-the-ocs-url.png
[22]: https://itsfoss.com/content/images/2023/09/Select-the-cursor-icon-theme-from-the-budgie-desktop-settings-for-custoomizing-the-budgie-desktop-environment.png
[23]: https://itsfoss.com/content/images/2023/09/Access-budgie-desktop-panel-settings.png
[24]: https://itsfoss.com/content/images/2023/09/Move-applets-in-budgie-desktop.png
[25]: https://itsfoss.com/content/images/2023/09/Delete-applet-from-the-panel.png
[26]: https://itsfoss.com/content/images/2023/09/Add-applet-in-budgie-desktop-environment.png
[27]: https://itsfoss.com/content/images/2023/09/Tweak-panel-of-the-budgie-desktop.png
[28]: https://itsfoss.com/content/images/2023/09/Add-transparency-and-shadows-in-budgie-desktop-panel-1.png
[29]: https://www.gnome-look.org/browse?cat=273&ord=latest
[30]: https://itsfoss.com/content/images/2023/09/Download-theme-for-the-plank-dock-in-budgie-desktop-environment.png
[31]: https://itsfoss.com/unzip-linux/
[32]: https://itsfoss.com/content/images/2023/09/extract-plank-dock-themes-in-budgie-desktop.png
[33]: https://itsfoss.com/content/images/2023/09/Change-theme-in-plank-dock-1.png
[34]: https://itsfoss.com/content/images/2023/09/Docklets-in-Plank-dock.png
[35]: https://itsfoss.com/content/images/2023/09/Add-docklets-in-Plank-dock-budgie-desktop-configuration.gif
[36]: https://itsfoss.com/content/images/2023/09/Remove-docklets-from-the-plank-budgie-desktop.gif
[37]: https://itsfoss.com/install-budgie-ubuntu/

View File

@@ -0,0 +1,118 @@
[#]: subject: "Fedora Linux Flatpak cool apps to try for October"
[#]: via: "https://fedoramagazine.org/fedora-linux-flatpak-cool-apps-to-try-for-october/"
[#]: author: "Eduard Lucena https://fedoramagazine.org/author/x3mboy/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "geekpi"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16343-1.html"
10 月份在 Fedora Linux 上值得尝试的酷炫 Flatpak应用
======
![][0]
> 本文介绍了 Flathub 中可用的项目以及安装说明。
[Flathub][2] 是获取和分发适用于所有 Linux 的应用的地方。它由 Flatpak 提供支持,允许 Flathub 应用在几乎任何 Linux 发行版上运行。
请阅读 “[Flatpak 入门][3]”。要启用 flathub 作为你的 flatpak 提供商,请使用 [flatpak 站点][4] 上的说明。
### Warehouse
[Warehouse][5] 是一个图形程序,用于管理已安装的 Flatpak 应用程序和 Flatpak 远程应用。一些最重要的功能是:
- 查看 Flatpak 信息
- 管理用户数据
- 批量操作
- 剩余数据管理
- 管理远程应用
你可以通过单击网站上的安装按钮或手动使用以下命令来安装 “Warehouse”
```
flatpak install flathub io.github.flattool.Warehouse
```
### Jogger
[Jogger][6] 是一款适用于 Gnome Mobile 的应用,用于跟踪跑步和其他锻炼。它是用 GTK4、Libadwaita、Rust 和 Sqlite 构建的。尽管它的目标是 Gnome Mobile但它在 Gnome Shell 下运行得很好,而且我发现它对于保存我的统计数据非常有用。其中一些功能是:
- 使用 Geoclue 位置跟踪锻炼
- 从 Fitotrack 导出导入锻炼
- 手动输入锻炼
- 查看锻炼详情
- 编辑锻炼
- 删除锻炼
- 计算锻炼消耗的卡路里
你可以通过单击网站上的安装按钮或使用以下命令手动安装 “Jogger”
```
flatpak install flathub xyz.slothlife.Jogger
```
### Kooha
[Kooha][7] 是一个简单的屏幕录像机,具有简约的界面。你只需单击录制按钮即可,无需配置一堆设置。
Kooha 的主要特点包括:
- 录制麦克风、桌面音频或同时录制两者
- 支持 WebM、MP4、GIF 和 Matroska 格式
- 选择要录制的监视器、窗口或屏幕的一部分
- 多种来源选择
- 可配置的保存位置、指针可见性、帧速率和延迟
- 它在 Wayland 上运行得很好。
```
flatpak install flathub io.github.seadve.Kooha
```
### Warzone 2100
谁不喜欢经典的 Linux 游戏呢?
[Warzone 2100][8] 让你指挥“计划”部队,在人类几乎被核导弹摧毁后重建世界。
![][9]
Warzone 2100 于 1999 年发行,由 Pumpkin Studios 开发,是一款开创性的创新型 3D 即时战略游戏。
2004 年Eidos 与 Pumpkin Studios 合作,以 GNU GPL 条款发布了游戏的源代码。此版本包含除音乐和游戏内视频序列之外的所有内容。当然,这些后来也被发布。
该游戏有一个问题它使用旧的平台包org.kde.Platform 6.4)。这意味着它需要更多的磁盘空间,但乐趣是值得的!
你可以通过单击网站上的安装按钮或使用以下命令手动安装 “Warzone 2100”
```
flatpak install flathub net.wz2100.wz2100
```
Warzone 2100 也可以在 Fedora 仓库中以 rpm 形式使用。
*(题图原始图片由 Daimar Stein 提供)*
---
via: https://fedoramagazine.org/fedora-linux-flatpak-cool-apps-to-try-for-october/
作者:[Eduard Lucena][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux 中国](https://linux.cn/) 荣誉推出
[a]: https://fedoramagazine.org/author/x3mboy/
[b]: https://github.com/lujun9972
[1]: https://fedoramagazine.org/wp-content/uploads/2023/10/flatpak_for_October-816x345.jpg
[2]: https://flathub.org
[3]: https://fedoramagazine.org/getting-started-flatpak/
[4]: https://flatpak.org/setup/Fedora
[5]: https://flathub.org/apps/io.github.flattool.Warehouse
[6]: https://flathub.org/apps/xyz.slothlife.Jogger
[7]: https://flathub.org/apps/io.github.seadve.Kooha
[8]: https://flathub.org/apps/net.wz2100.wz2100
[9]: https://fedoramagazine.org/wp-content/uploads/2023/10/image-1024x738.png
[0]: https://img.linux.net.cn/data/attachment/album/202311/02/210448a8vbipsdww8qk8bp.jpg

View File

@@ -0,0 +1,224 @@
[#]: subject: "Fun With Cmatrix in Linux"
[#]: via: "https://itsfoss.com/using-cmatrix/"
[#]: author: "Sreenath https://itsfoss.com/author/sreenath/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16422-1.html"
在 Linux 中玩乐Cmatrix 之旅
======
![][0]
> 玩得开心,安德森先生!
Cmatrix 是一款充满乐趣的 Linux 和 Unix 系统命令行程序。它可以模仿经典电影《<ruby>黑客帝国<rt>Matrix</rt></ruby>》系列中的场景,用绿色的字符流营造出雨一般的下落效果。
![Cmatrix 命令][1]
除了充满视觉冲击力的绿色字符流之外,你还可以发挥想象,利用这款有趣的命令做更多事情。
> 🚧 需要注意的是Cmatrix 是一个 CPU 密集型的命令,所以请慎重使用它。
### 如何在 Ubuntu 及其他 Linux 系统中安装 Cmatrix
Cmatrix 已经被收录在几乎所有主要的 Linux 发行版的官方库中。如果你是 Ubuntu 用户,可以通过如下命令来安装 Cmatrix
```
sudo apt install cmatrix
```
对于 Fedora 用户,应该使用以下命令进行安装:
```
sudo dnf install cmatrix
```
而对于 Arch Linux 用户,则可以使用 pacman 命令进行安装:
```
sudo pacman -S cmatrix
```
### Cmatrix 的基础应用
cmatrix 命令自身提供了丰富的选项,你可以自由改变默认的绿色字符流的外观呈现。
#### 加粗的字符
你可以选择使用 `-b` 选项,偶尔展示加粗的字符,
```
cmatrix -b
```
![加粗的 Cmatrix 字符][2]
或者,你也可以调整设置,让所有的字符都以加粗方式显示,
```
cmatrix -B
```
![全部显示为加粗的字符][3]
#### 异步滚动
默认情况下Cmatrix 会创建一个字符同步下落的显示。但如果你想看到一个更为动态、视觉上更吸引人的显示效果,就可以在代码中操控字符的下落速度。
你可以这样设置 Cmatrix让其进行异步滚动
```
cmatrix -a
```
#### 自定义字符下落速度
你想让字符下落的速度更快,或者更慢吗?只需在 Cmatrix 中做出微小改动,就可以实现。
如想让字符以更快的速度下落,你可以这样设定:
```
cmatrix -u 2
```
![字符快速下落][4]
在这里,默认的屏幕更新延迟是 4如果你把这个值降低那么字符下落的速度就会增加反之则会减慢。所以如果你想让 Cmatrix 以更慢的速度运行,你可以这样设置:
```
cmatrix -u 9
```
![字符慢速下落][5]
#### 自定义颜色
你可能想问,绿色能改吗?当然,你想变成紫色也行。
运行 Cmatrix 的时候,你可以自由调整它的颜色。只需要使用 `-C` 选项,然后在后面添加你想要的颜色,如下所示:
```
cmatrix -C magenta
```
![颜色变为洋红色][6]
你可以任选绿色(`green`)、红色(`red`)、蓝色(`blue`)、白色(`white`)、黄色(`yellow`)、青色(`cyan`)、洋红色(`magenta`)以及黑色(`black`)这些颜色。
#### 其他可选设置
选项 | 对应功能
---|---
`cmatrix -o` | 旧式滚动模式
`cmatrix -m` | Lambda 模式:把所有的字符变为 lambda 符号
`cmatrix -s` | 屏保模式:按键有就自动退出
`cmatrix -h` | 调出帮助手册
### 运行 Cmatrix 时的快捷键选项
就算在启动 Cmatrix 的时候你没有添加任何选项,你仍可以在实际运行中随时改变设置。下面就是一些可供你随时选择的选项。
#### 随时改变颜色
当然,你无需重新启动程序,就可以随时改变显示的颜色。但需要记住,不同的键位对应着不同的颜色。在 Cmatrix 未关闭的情况下,如果你按下了存储在键位上的指令,显示的颜色将会直接变更。
颜色 | 相应键位
---|---
红色 | `!`
绿色 | `@`
黄色 | `#`
蓝色 | `$`
洋红色 | `%`
青色 | `^`
白色 | `&`
黑色 | `)`
#### 自由调整更新速度
在 Cmatrix 运行的过程中,你可以按 `0``9` 的任何一位数字键来随意改变当前的更新速度。
此外Cmatrix 也有许多其他的选项可供你选择,你可以在命令的 man 页面里面找到它们。
```
man cmatrix
```
### 彩虹魔法Cmatrix 配合 lolcat
> 🚧 请注意Cmatrix 本身就是 CPU 密集型的命令,所以在使用其他命令操控它的时候需特别小心。
你可以将 Cmatrix 和 lolcat 结合在一起使用,以此营造出一种更加有趣的视觉效果。如果你是 Ubuntu 的用户,可以通过如下的命令来安装 lolcat
```
sudo apt install lolcat
```
安装完毕后,只需简单地通过管道将 Cmatrix 连接到 lolcat你便可以看到赏心悦目的彩虹效果了。
```
cmatrix | lolcat
```
![Cmatrix 配合 Lolcat 效果][7]
当然,你也可以尝试用 lolcat 来管理所有的 Cmatrix 的功能。
或者,你可以调出一个倾斜的彩虹条纹效果,为自己的视觉体验增添一些新花样。
```
cmatrix | lolcat -p 100
```
此外,只要轻轻一点,你就可以直接反转现有的背景和前景颜色,使你的终端完全沉浸在五彩斑斓之中。
```
cmatrix | lolcat -i
```
![Cmatrix 与反转颜色的 Lolcat][8]
### 终端界面的无尽可能
我知道 Cmatrix 不可能是 [最实用的 Linux 命令][9],但无可否认,它令人喜爱且同样能够带给你乐趣。难道你不想尝试更多和你的 Linux 系统之间的 [有趣交互][10] 吗?
就像 [Cowsay][11] 这样的命令,虽然简单,却欢乐无穷:
> **[哞~ 我的 Linux 终端里有头牛][11]**
这里还有更多玩法等待你去探索:
> **[在终端中享受乐趣的 13 种 Linux 命令][12]**
现在,玩得开心,安德森先生!
*题图MJ/9f9f8665-e5d0-47b5-9df0-b39abd9dca3d*
--------------------------------------------------------------------------------
via: https://itsfoss.com/using-cmatrix/
作者:[Sreenath][a]
选题:[lujun9972][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/sreenath/
[b]: https://github.com/lujun9972
[1]: https://itsfoss.com/content/images/2023/10/Cmatrix.gif
[2]: https://itsfoss.com/content/images/2023/10/cmatrix-occasional-bold-characters.png
[3]: https://itsfoss.com/content/images/2023/10/cmatrix-all-bold-characters.png
[4]: https://itsfoss.com/content/images/2023/10/Cmatrix-fast.gif
[5]: https://itsfoss.com/content/images/2023/10/cmatrix-slow.gif
[6]: https://itsfoss.com/content/images/2023/10/cmatrix-magenta-color.png
[7]: https://itsfoss.com/content/images/2023/10/Cmatrix-with-lolcat.png
[8]: https://itsfoss.com/content/images/2023/10/cmatrix-with-inverse-colors.png
[9]: https://itsfoss.com/essential-ubuntu-commands/
[10]: https://itsfoss.com/funny-linux-commands/
[11]: https://linux.cn/article-15952-1.html
[12]: https://itsfoss.com/funny-linux-commands/
[0]: https://img.linux.net.cn/data/attachment/album/202311/28/072046sff97h9bfqvfq8va.png

View File

@@ -0,0 +1,92 @@
[#]: subject: "How to Install the Latest LibreOffice on Ubuntu"
[#]: via: "https://itsfoss.com/install-libreoffice-ubuntu/"
[#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "geekpi"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16349-1.html"
如何在 Ubuntu 上安装最新的 LibreOffice
======
![][0]
> 想在 Ubuntu 上使用最新、最好的 LibreOffice这里有一个简单的方法。
LibreOffice 已预装在 Ubuntu 中。
不过,如果你选择了最小化的 Ubuntu 安装,或者卸载它并安装了其他办公套件,你可以使用此命令轻松安装:
````
sudo apt install libreoffice
````
这没问题。但 Ubuntu 仓库提供的 LibreOffice 版本可能不是最新的。
如果你听说有新的 LibreOffice 版本发布,很可能你不会获得该新版本。这是因为 Ubuntu 将其保持在稳定版本上。
这对大多数用户来说都很好。但是,如果你不是“大多数用户”,并且你想在 Ubuntu 中获取最新的 LibreOffice那么你完全可以这样做。
有两种方法可以做到这一点:
* 使用官方 PPA推荐
* 从 LibreOffice 下载 deb 文件
让我们来看看。
### 方法 1通过官方 PPA 安装最新的 LibreOffice推荐
你可以使用官方 “LibreOffice Fresh” PPA 在基于 Ubuntu 的发行版上安装 LibreOffice 的最新稳定版本。
PPA 提供了 LibreOffice 的最新稳定版本,而不是开发版本。因此,这使其成为在 Ubuntu 上获取较新 LibreOffice 版本的理想选择。
你甚至不需要使用此方法卸载以前的版本。它将把现有的 LibreOffice 更新到新版本。
````
sudo add-apt-repository ppa:libreoffice/ppa
sudo apt update
sudo apt install libreoffice
````
由于你要添加 PPA因此你还将获得以这种方式安装的新版本的更新。
### 方法 2从网站获取二进制文件如果需要
你可以随时前往 [LibreOfiice 网站的下载页面][1] 下载最新版本的 deb 文件。你还会看到下载较旧但 LTS 稳定版本的选项。
![][2]
我相信你已经 [知道如何从 deb 文件安装应用][3]。右键单击 deb 文件,选择使用软件中心打开它。进入软件中心后,你可以单击安装按钮进行安装。
### 结论
第二种方法的缺点是,如果有更新,你必须再次下载 deb 文件,删除以前的 LibreOffice 版本,然后使用新下载的 deb 文件安装新版本。
相比之下PPA 会随着系统更新而自动更新。这就是我推荐 PPA 的原因,特别是当它由 LibreOffice 团队自己维护时。
顺便说一句,这里有一些 [充分利用 LibreOffice 的技巧][4]
> **[提高 LibreOffice 生产力的技巧][4]**
我希望这个快速技巧可以帮助你在基于 Ubuntu 的发行版上获取最新的 LibreOffice。如果你有疑问请告诉我。
--------------------------------------------------------------------------------
via: https://itsfoss.com/install-libreoffice-ubuntu/
作者:[Abhishek Prakash][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/abhishek/
[b]: https://github.com/lujun9972
[1]: https://www.libreoffice.org/download/download-libreoffice
[2]: https://itsfoss.com/content/images/2023/10/download-libreoffice.png
[3]: https://itsfoss.com/install-deb-files-ubuntu/
[4]: https://linux.cn/article-15530-1.html
[5]: https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png
[0]: https://img.linux.net.cn/data/attachment/album/202311/04/170549qzsfnygzhtzsn0uo.jpg

View File

@@ -0,0 +1,161 @@
[#]: subject: "Cut, Copy and Paste in Vim"
[#]: via: "https://itsfoss.com/vim-cut-copy-paste/"
[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "geekpi"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16357-1.html"
如何在 Vim 中剪切、复制和粘贴
======
![][0]
> 在本篇 Vim 快速技巧中,你将学习到剪切和复制粘贴的相关知识。
剪切、复制和粘贴文本是文本编辑中最基本的任务之一,我们都知道 Vim 有不同的处理方式。
这意味着,在你掌握它之前,你会害怕它,一旦你掌握了它,它就只是一个兔子洞。
虽然我将详细介绍剪切、复制和粘贴,但这里是本教程的基本摘要,以帮助你开始使用:
**按键** | **描述**
---|---
`yiw` | 复制当前单词。
`yy` | 复制整行。
`diw` | 剪切当前单词。
`dd` | 剪掉整行。
`p` | 粘贴文本。
别担心Vim 为你提供的选项比我上面提到的要多得多。
在本教程中,我将引导你完成以下内容:
* 如何在 Vim 中复制文本
* 如何在 Vim 中剪切文本
* 如何在 Vim 中粘贴文本
* 如何使用可视模式在 Vim 中剪切和复制文本
那么让我们从第一个开始。
### 如何在 Vim 编辑器中复制文本
虽然我们使用术语“复制”,但 Vim 有一个不同的术语,称为 “<ruby>扽出<rt>yank</rt></ruby>”,因此从现在开始,我将使用“扽出”而不是“复制”。
正如我之前提到的,你可以使用多种方法在 Vim 中扽出文本,以下是一些有用的方法:
命令 | 描述
---|---
`nyy``nY` | 扽出(复制)当前行和接下来的 `n-1` 行。例如,`3yy` 复制当前行及其下面的两行。
`yaw` | 扽出(复制)光标所在的当前单词。
`yy``Y` | 扽出(复制)整个当前行。
`y$` | 扽出(复制)从光标到行尾的文本。
`y^``y0` | 扽出(复制)从光标到行首的文本。
要在 Vim 中扽出,请执行以下 3 个简单步骤:
1.`Esc` 键切换到正常模式
2. 移动到要复制的行或单词
3. 按上表中的相关命令,你的文本将被复制
想学习交互式复制行的方式吗? 跳到本教程的最后一部分。
### 如何在 Vim 编辑器中剪切文本
在 Vim 中,你没有任何删除文本的选项。取而代之的是剪切文本,因此删除和剪切文本与 Vim 中的操作类似。
要在 Vim 中剪切文本,请按 `d` 命令。但你永远不会在没有任何选项的情况下使用 `d` 命令。你总是会添加一些东西来做更多操作。
因此,你可以使用以下一些实用方法使用 `d` 命令剪切文本:
命令 | 描述
---|---
`dd` | 剪切整个当前行。
`d$` | 将文本从光标剪切到行尾。
`d^``d0` | 将文本从光标剪切到行首。
`ndd``dN` | 剪切当前行和接下来的 `n-1` 行。例如,`3dd` 剪切当前行及其下面的两行。
`daw` | 剪切光标所在的当前单词。
假设我想从文件中剪切前 4 行,然后我需要使用 `4dd`,我是这样做的:
![][1]
### 如何在 Vim 编辑器中粘贴文本
在 Vim 中复制或剪切文本后,只需按 `p` 键即可粘贴它。
你可以多次按 `p` 键多次粘贴文本,也可以使用 `np`,其中 `n` 是要粘贴文本的次数。
例如,在这里,我粘贴了之前复制了三遍的行:
![][2]
就是这么简单!
### 如何通过选择文本来剪切和复制文本
如果你使用过 GUI 文本编辑器,那么你肯定习惯于通过选择文本来复制和剪切文本。
让我们从如何通过在 Vim 中选择文本来复制开始。
#### 通过选择文本复制
要在可视模式下复制文本,请执行以下 3 个简单步骤:
1. 移动到要开始选择的地方
2.`Ctrl + v` 启用可视模式
3. 使用箭头键进行选择
4.`y` 键复制所选文本
例如,在这里,我使用可视模式复制了 4 行:
![][3]
如果你注意到,当我按下 `y` 键,它就会显示有多少行被扽出(复制)。就我而言,有 4 行被复制。
#### 在 Vim 中选择文本来剪切文本
要在 Vim 中以可视模式剪切文本,你所要做的就是遵循 4 个简单步骤:
1. 移动到要剪切的位置
2.`Ctrl + v` 切换到可视模式
3. 使用箭头键选择要剪切的行
4.`d` 键剪切选定的行
假设我想剪掉 4 行,那么我会这样做:
![][4]
挺容易。是吧?
### 更多关于 Vim 的内容
你知道 Vim 有多种模式吗? [了解有关 Vim 中不同模式的更多信息][5]。
想提高你的 Vim 水平吗?请参阅 [成为 Vim 专业用户的提示和技巧][7]。
我希望本指南对你有所帮助。
*题图MJ/3555eed2-ab14-433d-920f-17b80b46ce74*
--------------------------------------------------------------------------------
via: https://itsfoss.com/vim-cut-copy-paste/
作者:[Sagar Sharma][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/sagar/
[b]: https://github.com/lujun9972
[1]: https://itsfoss.com/content/images/2023/10/Cut-multiple-lines-in-the-Vim-editor.gif
[2]: https://itsfoss.com/content/images/2023/10/paste-lines-in-Vim-editor.gif
[3]: https://itsfoss.com/content/images/2023/10/Copy-lines-in-vim-by-selecting-them.gif
[4]: https://itsfoss.com/content/images/2023/10/Cut-lines-in-Vim-by-selecting-them.gif
[5]: https://linuxhandbook.com/vim-modes/
[7]: https://linuxhandbook.com/pro-vim-tips/
[0]: https://img.linux.net.cn/data/attachment/album/202311/07/172330q49ttt4ee9r86u39.png

View File

@@ -0,0 +1,181 @@
[#]: subject: "Install Docker on Arch Linux"
[#]: via: "https://itsfoss.com/install-docker-arch-linux/"
[#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "geekpi"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16363-1.html"
在 Arch Linux 上安装 Docker
======
![][0]
> 了解如何在 Arch Linux 上安装 Docker并使用 Docker Compose 和制表符补全为运行容器做好准备。
在 Arch Linux 上安装 Docker 很简单。它可以在 Extra 仓库中找到,你可以简单地 [执行 pacman 魔法][1]
```
sudo pacman -S docker
```
但要在 Arch Linux 上正确运行 Docker还需要执行更多步骤。
### 让 Arch Docker 做好准备
这一切都归结为以下步骤:
* 从 Arch 仓库安装 Docker
* 启动 Docker 守护进程并在每次启动时自动运行
* 将用户添加到 `docker` 组以运行 `docker` 命令而无需 `sudo`
让我们看看详细步骤。
#### 步骤 1安装 Docker 包
打开终端并使用以下命令:
```
sudo pacman -S docker
```
输入密码并在询问时按 `Y`
![][2]
这可能需要一些时间,具体取决于你使用的镜像。
> 💡 如果你看到找不到包或 404 错误,那么你的同步数据库可能是旧的。使用以下命令更新系统(它将下载大量软件包并需要时间): `sudo pacman -Syu`
#### 步骤 2启动 docker 守护进程
Docker 已安装但未运行。你应该在**第一次运行 Docker 命令**之前启动 Docker 守护进程:
```
sudo systemctl start docker.service
```
我还建议启用 Docker 服务,以便 Docker 守护进程在系统启动时自动启动。
```
sudo systemctl enable docker.service
```
这样,你就可以开始运行 `docker` 命令了。你不再需要手动启动 Docker 服务。
![][3]
#### 步骤 3将用户添加到 docker 组
Docker 已安装并且 Docker 服务正在运行。你几乎已准备好运行 `docker` 命令。
但是,默认情况下,你需要将 `sudo``docker` 命令一起使用。这很烦人。
为了避免在每个 `docker` 命令中使用 `sudo`,你可以将自己(或任何其他用户)添加到 `docker` 组,如下所示:
```
sudo usermod -aG docker $USER
```
**你必须注销(或关闭终端)并重新登录才能使上述更改生效。如果你不想这样做,请使用以下命令:**
```
newgrp docker
```
现在已经准备好了。我们来测试一下。
#### 步骤 4验证 docker 安装
Docker 本身提供了一个很小的 Docker 镜像来测试 Docker 安装。运行它并查看是否一切正常:
```
docker run hello-world
```
你应该看到类似这样的输出,表明 Docker 成功运行:
![][4]
恭喜! 你已经在 Arch Linux 上成功安装了 Docker。
### 可选:安装 Docker Compose
Docker Compose 已经成为 Docker 不可或缺的一部分。它允许你管理多个容器应用。
较早的经典 Compose 由 `docker-compose` Python 软件包提供。Docker 还将其移植到 Go 中,并通过 `docker compose` 提供,但该软件包附带 [Docker Desktop][5]。
在这个阶段,我建议使用经典的 `docker-compose` 插件并使用以下命令安装它:
```
sudo pacman -S docker-compose
```
![][6]
### 故障排除技巧
以下是你可能遇到的一些常见问题以及可能的解决方案:
#### 制表符补全不适用于 docker 子命令
如果你想对 `docker` 命令选项使用制表符补全(例如将 `im` 补全到 `images` 等),请安装 `bash-completion` 包:
```
sudo pacman -S bash-completion
```
关闭终端并启动一个新终端。你现在应该能够通过 `docker` 命令使用制表符补全功能。
#### 无法连接到 Docker 守护进程错误
如果你看到以下错误:
```
docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
See 'docker run --help'.
```
那是因为 Docker 守护进程没有运行。参考步骤 2启动 Docker 服务,确保其正在运行并启用它,以便 Docker 守护进程在每次启动时自动运行。
```
sudo systemctl start docker.service
sudo systemctl enable docker.service
```
#### 尝试连接到 Docker 守护程序套接字时权限被拒绝
如果你看到此错误:
```
ddocker: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/create": dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.
```
这是因为你需要使用 `sudo` 运行 `docker` 命令,或者将用户添加到 `docker` 组以在不使用 `sudo` 的情况下运行 `docker` 命令。
我希望这篇简短的文章可以帮助你在 Arch Linux 上运行 Docker。
*题图MJ/9951f8bf-d2e5-4335-bd86-ebf89cba654d*
--------------------------------------------------------------------------------
via: https://itsfoss.com/install-docker-arch-linux/
作者:[Abhishek Prakash][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/abhishek/
[b]: https://github.com/lujun9972
[1]: https://itsfoss.com/pacman-command/
[2]: https://itsfoss.com/content/images/2023/10/installing-docker-arch-linux.png
[3]: https://itsfoss.com/content/images/2023/10/start-docker-daemon-arch-linux.png
[4]: https://itsfoss.com/content/images/2023/10/docker-running-successfully-arch-linux.png
[5]: https://www.docker.com/products/docker-desktop/
[6]: https://itsfoss.com/content/images/2023/10/install-docker-compose.png
[0]: https://img.linux.net.cn/data/attachment/album/202311/09/154128mctmdkdd0jolyv0k.png

View File

@@ -0,0 +1,159 @@
[#]: subject: "Install VSCodium on Fedora"
[#]: via: "https://itsfoss.com/install-vscodium-fedora/"
[#]: author: "Anuj Sharma https://itsfoss.com/author/anuj/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "geekpi"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16414-1.html"
如何在 Fedora 上安装 VSCodium
======
![][0]
> VSCodium 是微软 VS Code 真正开源的版本,它可以轻松安装在 Fedora 上。具体方法如下。
Visual Studio CodeVS Code是微软开发的一款流行的跨平台文本编辑器。它基于 Electron 框架构建被开发人员广泛用于编码和文本编辑任务。VS Code 的核心,称为 “Code - OSS”是开源的并在 MIT 许可证下分发。然而,微软添加了特定的自定义功能,并在专有许可下发布了其品牌版本的编辑器。
为了解决有关 [遥测][1] 和许可的问题,有一个名为 “[VSCodium][2]” 的替代方案,它是社区驱动、禁用遥测且获得 MIT 许可的 VS Code 版本。
![VSCodium running on Fedora 39][3]
在本教程中,我将指导你完成在 Fedora Linux 系统上安装和运行 VSCodium 的过程。
有三种方法可以做到这一点:
1. 从发布页面下载 rpm 文件进行安装。但是,你需要重复该过程才能更新软件包(这可能会令人沮丧)。
2. 添加 [paulcarroty][4] 仓库(如 [VSCodium][5] 网站所述)。因此,当你 [更新你的 Fedora 系统][6] VScodium 也会得到更新(这是相当无缝的)。
3. 使用 flatpak 版本,你可能已经尝试过从 GNOME “软件”中安装该版本(我有过同样的糟糕经历,因此可能会有所不同)。
第一个非常简单,即从 [发布页面][8] 下载并 [安装 RPM 文件][7]。那么,让我们切入主题并遵循其他两种方法。
### 方法 1通过添加仓库来安装 VSCodium
打开终端:你可以通过在应用菜单中搜索 “Terminal” 来打开终端。
添加 GPG 密钥:以便包管理器信任仓库的打包者。
```
sudo rpmkeys --import https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/-/raw/master/pub.gpg
```
添加 VSCodium 仓库:以下命令会将仓库添加到你的 Fedora 系统。
```
printf "[gitlab.com_paulcarroty_vscodium_repo]\nname=download.vscodium.com\nbaseurl=https://download.vscodium.com/rpms/\nenabled=1\ngpgcheck=1\nrepo_gpgcheck=1\ngpgkey=https://gitlab .com/paulcarroty/vscodium-deb-rpm-repo/-/raw/master/pub.gpg\nmetadata_expire=1h" | sudo tee -a /etc/yum.repos.d/vscodium.repo
```
安装VSCodium现在你已经添加了 VSCodium 存储库,你可以使用以下命令安装它(喜欢前沿软件的人可以将软件包名称替换为 **codium-insiders** 来安装 insider 版本):
```
sudo dnf install codium
```
启动 VSCodium你现在可以从应用菜单或在终端中运行以下命令来启动 VSCodium
```
codium
```
#### 删除 VSCodium
如果你不喜欢 VSCodium 以及它基于 Electron 的事实,或者改用 Neovim。你可以使用以下命令删除它
```
sudo dnf remove codium
```
你可以将仓库和签名添加到你的系统中,也可以不保留(为什么不)。
因此,让我们摆脱该仓库:
```
sudo rm /etc/yum.repos.d/vscodium.repo
```
### 方法 2使用 Flatpak 安装 VSCodium
你也可以安装 Flatpak。因此以下是在 Fedora 上使用 Flatpak 安装 VSCodium 的步骤:
你可以通过启用 Flathub 直接在 Fedora 上安装它,如果你使用的是最新版本之一并且为 Fedora 启用了第三方仓库,那么可能会启用该功能。只需在 GNOME “软件” 应用中搜索 VSCodium 并单击安装即可。
![Installing the flatpak from Gnome Software][9]
不过,由于某些原因运行旧版本的用户,或者他们可能有一个未启用 Flatpak 的分叉,也可以效仿。
安装 Flatpak 并启用 FlathubFedora 通常预装了 Flatpak。如果尚未安装你可以使用以下命令进行安装
```
sudo dnf install flatpak
```
要启用 Flathub 仓库,请使用以下命令:
```
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
```
现在你已经设置了 Flatpak你可以使用 Flathub 仓库安装 VSCodium。运行以下命令
```
flatpak install flathub com.vscodium.codium
```
启动 VSCodium你可以使用以下命令通过 Flatpak 启动 VSCodium
```
flatpak run com.vscodium.codium
```
或者,你也可以在应用菜单中搜索 “VSCodium” 并从那里启动它。
就是这样! 你现在应该已经使用 Flatpak 在 Fedora 系统上安装并运行了 VSCodium。
要删除它,请使用以下命令:
```
sudo flatpak uninstall com.vscodium.codium
```
### 附言
如果你使用过 VS Code那么你不会发现这两个软件之间有任何区别。这只是为了开放和免受微软版本的邪恶遥测的影响。
在 Fedora我首先安装了 Flatpak 版本,但在 Wayland 会话中VSCodium 没有显示任何窗口装饰(这显然是默认的)。这让我很难用鼠标导航。
![VSCodium flatpak showing no window decorations.][10]
我尝试了一些方法来解决这个问题,但由于 Fflatpak 配置文件的位置很奇怪,所以没有成功。如果有人有或能找到解决上述问题的办法,请在下面发表评论。不过,使用 rpm 版本倒是天衣无缝(也许怀疑论者对替代软件包管理系统的看法是对的)。
扩展和插件在大部分情况下都没有问题。你也可以按照本教程在企业 Linux 系列的任何发行版(如 Alma Linux、Rocky Linux 等)上安装。
*题图MJ/5f39d386-d28c-4b3d-97a8-b498290d54f7*
--------------------------------------------------------------------------------
via: https://itsfoss.com/install-vscodium-fedora/
作者:[Anuj Sharma][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/anuj/
[b]: https://github.com/lujun9972
[1]: https://code.visualstudio.com/docs/getstarted/telemetry
[2]: https://itsfoss.com/vscodium/
[3]: https://itsfoss.com/content/images/2023/10/codium-on-fedora.png
[4]: https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo
[5]: https://vscodium.com/
[6]: https://itsfoss.com/update-fedora/
[7]: https://itsfoss.com/install-rpm-files-fedora/
[8]: https://github.com/VSCodium/vscodium/releases
[9]: https://itsfoss.com/content/images/2023/10/codium-flatpak-fedora.png
[10]: https://itsfoss.com/content/images/2023/10/codium-flatpak-no-decorations.png
[0]: https://img.linux.net.cn/data/attachment/album/202311/26/134531enn7h0bn7z97977b.png

View File

@@ -0,0 +1,81 @@
[#]: subject: "Skiff Mail Adds a Convenient 'Quick Aliases' Feature"
[#]: via: "https://news.itsfoss.com/skiff-quick-aliases/"
[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "geekpi"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16346-1.html"
Skiff Mail 添加了方便的“快速别名”功能
======
![][0]
> 一个用户邮件别名的省时功能。
Skiff Mail 是一款开源的端到端加密电子邮件服务,非常注重隐私。在各方面,包括用户体验方面,它都是 Gmail 和 Proton mail 的不错替代品。
虽然与竞争对手相比,它相当新,但它的一些注重隐私的功能可能会给你留下深刻的印象。
此外,还推出了一项新的快速别名功能。我试用了一下,感觉非常方便。
### 快速别名:一次性无忧设置
一般来说,你可以使用一些 [电子邮件保护工具][1](例如 SimpleLogin或从你的电子邮件提供商无论是谁创建电子邮件别名。
![][2]
你可以选择记住电子邮件别名以供使用,或者在每次注册服务、新闻通讯或向你不认识的人提供联系信息时生成唯一的别名。
换句话说,大多数情况下,需要你进行多次交互才能使用多个电子邮件别名。
在这里,[Skiff Mail][3] 允许你为自己声明一个完整的唯一子域,例如 **gojo.maskmy.id** (正如我在测试用例中所做的那样):
![][4]
接下来,你所要做的就是 在激活它时将其视为你的网站地址,并在其之前添加任何内容作为电子邮件地址,例如 **[xyz@gojo.maskmy.id][5]** 或 **[demo@gojo.maskmy.id][5]**。
如上面的截图所示,你也可以选择生成一个随机名称来声明。
你可以从“<ruby>设置<rt>Settings</rt></ruby>”菜单访问“<ruby>快速别名<rt>Quick Aliases</rt></ruby>”功能:
![][7]
因此,你不再需要生成电子邮件别名,但仍然可以通过这种方式拥有无限的别名。使其成为一次性设置解决方案,可供在线和离线使用。
我认为这些类型的别名应该有几个好处:
* 它使你无需访问该工具即可轻松创建新别名
* 使电子邮件别名看起来比垃圾邮件更真实
根据你的订阅,每人最多可以申请 3 个域名Essential1、Pro2、Business3。并且使用它们创建无限的电子邮件别名。
如果你使用免费套餐,你还可以申请 1 个域名,但最多只能使用 10 个别名。
> **[Skiff Quick 别名][9]**
💬 你对此功能有何看法? 请在下面的评论中告诉我。
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/skiff-quick-aliases/
作者:[Ankush Das][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/ankush/
[b]: https://github.com/lujun9972
[1]: https://itsfoss.com/protect-email-address/
[2]: https://news.itsfoss.com/content/images/2023/10/email-alias-skiff.jpg
[3]: https://skiff.com/mail
[4]: https://news.itsfoss.com/content/images/2023/10/email-alias-skiff-set.jpg
[5]: https://news.itsfoss.com/cdn-cgi/l/email-protection
[6]: https://news.itsfoss.com/content/images/2023/04/Follow-us-on-Google-News.png
[7]: https://news.itsfoss.com/content/images/2023/10/skiff-email-alias-option.png
[9]: https://skiff.com/quick-alias
[0]: https://img.linux.net.cn/data/attachment/album/202311/03/222957cr3rujs9rvxjm9x7.jpg

View File

@@ -0,0 +1,129 @@
[#]: subject: "Fedora Linux Flatpak cool apps to try for November"
[#]: via: "https://fedoramagazine.org/fedora-linux-flatpak-cool-apps-to-try-for-november/"
[#]: author: "Eduard Lucena https://fedoramagazine.org/author/x3mboy/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "geekpi"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16401-1.html"
在 Fedora Linux 上值得尝试的酷炫 Flatpak 应用11 月)
======
![][1]
> 本文介绍了 Flathub 中可用的项目以及安装说明。
[Flathub][2] 是获取和分发适用于所有 Linux 应用的地方。它由 Flatpak 提供支持,允许 Flathub 应用在几乎任何 Linux 发行版上运行。
请阅读“[Flatpak 入门][3]”。为了启用 flathub 作为你的 flatpak 提供商,请使用 [Flatpak 站点][4]上的说明。
### TurboWarp
[TurboWarp][5] 是 Scratch 的修改版本。Scratch 是一种具有简单视觉界面的编码语言,允许年轻人创建数字故事、游戏和动画。
我喜欢 Scratch但自从我发现 TurboWarp 以来,我儿子就再也没有回头。界面更清晰,具有夜间模式,比原始 Scratch 运行速度更快,并且内存经过优化。
你可以通过单击网站上的安装按钮或手动使用以下命令来安装 TurboWarp
````
flatpak install flathub org.turbowarp.TurboWarp
````
### Szyszka
[Szyska][6] 是文件重命名器,具有许多有趣的功能,例如:
* 很好的性能
* 适用于 Linux、Mac 和 Windows
* 使用 GTK 4 创建的 GUI
* 多种规则可自由组合:
* 替换文字
* 修剪文本
* 添加文字
* 添加号码
* 清除文本
* 将字母更改为大写/小写
* 自定义规则
* 保存规则供以后使用
* 能够编辑、重新排序规则和结果
* 处理数十万条记录
你可以通过单击网站上的安装按钮或手动使用以下命令来安装 Szyszka
````
flatpak install flathub com.github.qarmin.szyszka
````
### Marker
[Marker][7] 是一个用 GTK3 编写的 MarkDown 编辑器。这是我在 GTK 上快速写作的最爱之一。它的一些特点是:
* 使用 [scidown][8] 对 Markdown 文档进行 HTML 和 LaTeX 转换
* 支持 YAML 标头
* 文档类
* 投影仪/演示模式
* 摘要部分
* 目录
* 外部文档包含
* 带有参考 ID 和标题的方程、图形、表格和清单
* 内部参考文献
* 使用 [KaTeX][9] 或 [MathJax][10] 进行 TeX 数学渲染
* 使用 [highlight.js][11] 对代码块进行语法高亮显示
* 使用 [pandoc][12] 灵活的导出选项
* PDF
* RTF
* ODT
* DOCX
你可以通过单击网站上的安装按钮或使用以下命令手动安装 Marker
````
flatpak install flathub com.github.fabiocolacio.marker
````
*Marker 也在 fedora 的仓库中以 rpm 的形式提供。*
### Librum
[Librum][13] 是一个用于管理图书馆和阅读电子书的应用。这是管理书籍和文档集合的好方法,包括对一长串格式的支持。它的一些特点是:
* 现代电子阅读器
* 个性化和可定制的库
* 图书元数据编辑
* 一个免费的应用内书店,拥有超过 70,000 本书
* 书籍在所有设备上同步
* 高亮显示书签文本搜索
你可以通过单击网站上的安装按钮或使用以下命令手动安装 Librum
````
flatpak install flathub com.librumreader.librum
````
--------------------------------------------------------------------------------
via: https://fedoramagazine.org/fedora-linux-flatpak-cool-apps-to-try-for-november/
作者:[Eduard Lucena][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://fedoramagazine.org/author/x3mboy/
[b]: https://github.com/lujun9972
[1]: https://fedoramagazine.org/wp-content/uploads/2023/10/flatpak-apps-for-november-banner-816x345.jpg
[2]: https://flathub.org
[3]: https://fedoramagazine.org/getting-started-flatpak/
[4]: https://flatpak.org/setup/Fedora
[5]: https://flathub.org/apps/org.turbowarp.TurboWarp
[6]: https://flathub.org/apps/com.github.qarmin.szyszka
[7]: https://flathub.org/apps/com.github.fabiocolacio.marker
[8]: https://github.com/wallberg13/scidown
[9]: https://katex.org/
[10]: https://www.mathjax.org/
[11]: https://highlightjs.org/
[12]: https://pandoc.org/
[13]: https://flathub.org/apps/com.librumreader.librum

View File

@@ -0,0 +1,99 @@
[#]: subject: "Open Source Definition for AI Models Need a Change"
[#]: via: "https://news.itsfoss.com/open-source-definition-ai/"
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16344-1.html"
AI 模型的开源定义需要改变
======
![][0]
> 你认为开源许可证应当进行演变吗?
2023 年,我们以**人工智能AI崭露头角**开始了新的一年,同时也见证了众多公司全力以赴投身于 AI。
比如说 **Mozilla**,它在 2023 年初制定了 [开源 AI 计划][1],以开发各种 AI 驱动的解决方案。而 **HuggingChat** 也成为了第一个推出 ChatGPT [开源替代品][2] 的组织。
即便是 Meta他们也不例外。他们自家的 <ruby>大型语言模型<rt>Large Language Model</rt></ruby>LLM[Llama 2][3] 项目在这一年都颇受关注,几个月前他们甚至推出了一款新的 [ChatGPT 竞争对手][4]。
然而,也有很多人开始 [提出质疑][5],主张 **Meta 的 Llama 2 模型并不像人们期望的那样开放**,查看它的开源许可证似乎更是印证了这个观点。
该许可证 **不允许拥有超过 7 亿日活跃用户的服务使用 Llama 2**,同样的,**它也不能被用于训练其他的语言模型**。
这也就意味着 Meta 对于 Llama 2 的许可证 **未能满足** <ruby>开源倡议组织<rt>Open Source Initiative</rt></ruby>OSI的 <ruby>[开源定义][6]<rt>Open Source Definition</rt></ruby>OSD所列出的 **全部要求**
人们可以争辩,像 [EleutherAI][7] 和 [Falcon 40B][8] 这样的机构就做出了很好的示范,展示了如何适当地处理 AI 的开源许可。
然而Meta 对此的看法却截然不同。
### 开源许可需要进化
在与 [The Verge][10] 的交谈中Meta 人工智能研究副总裁 [Joëlle Pineau][11] 为他们的立场进行了辩解。
她说,我们 **需要在信息共享的益处和可能对 Meta 商业造成的潜在成本之间寻找平衡**
这种对开源的态度让他们的研究人员能够更加专注地处理 AI 项目。她还补充说:
> 开放的方式从内部改变了我们的科研方法,它促使我们不发布任何不安全的东西,并在一开始就负起责任。
Joëlle 希望他们的生成型 AI 模型能够和他们过去的 [PyTorch][12] 项目一样受到热捧。
但是,**问题在于现有的许可证机制**。她又补充说,这些许可证并不是设计来处理那些需要利用大量多源数据的软件。
这反过来**为开发者和用户提供了有限责任**,以及,**对版权侵犯的有限赔偿**(解释为:保护)。
此外,她还指出:
> AI 模型与软件不同,涉及的风险更大,因此我认为我们应该对当前用户许可证进行改变,以更好地适应 AI 模型。
>
> 但我并不是一名律师,所以我在此问题上听从他们的意见。
我赞同她的观点,我们需要更新现有的许可方案,使之更好地适应 AI 模型,以及其他相关事务。
显而易见,**OSI 正在努力进行此事**。OSI 的执行董事 [Stefano Maffulli][13] 向 The Verge 透露,他们了解到 **当前的 OSI 批准的许可证无法满足人工智能模型的需求**
他们正在商讨如何与 AI 开发者合作,以提供一个 “**透明、无许可但安全**” 的模型访问。
他还补充说:
> 我们肯定需要重新思考许可证的方式,以解决 AI 模型中版权和授权的真正限制,同时仍遵循开源社区的一些原则。
无论未来如何,显然,**开源标准必须推动其演化,以适应新的以及即将出现的技术** ,而此类问题不仅仅局限于 AI。
对于未来几年开源许可的变革,我充满期待。
💬 对于你来说呢?你认为对于陈旧的开源标准,我们需要进行什么样的改变?
*题图MJ/e8bae5f6-606b-47db-aaea-c992c0bd143e*
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/open-source-definition-ai/
作者:[Sourav Rudra][a]
选题:[lujun9972][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/sourav/
[b]: https://github.com/lujun9972
[1]: https://news.itsfoss.com/mozilla-open-source-ai/
[2]: https://news.itsfoss.com/huggingchat-chatgpt/
[3]: https://ai.meta.com/llama/
[4]: https://news.itsfoss.com/meta-open-source-chatgpt/
[5]: https://www.wired.com/story/the-myth-of-open-source-ai/
[6]: https://opensource.org/osd/
[7]: https://www.eleuther.ai/
[8]: https://www.tii.ae/news/uaes-technology-innovation-institute-launches-open-source-falcon-40b-large-language-model
[9]: https://news.itsfoss.com/content/images/2023/04/Follow-us-on-Google-News.png
[10]: https://www.theverge.com/2023/10/30/23935587/meta-generative-ai-models-open-source
[11]: https://en.wikipedia.org/wiki/Jo%C3%ABlle_Pineau
[12]: https://pytorch.org/
[13]: https://twitter.com/smaffulli
[0]: https://img.linux.net.cn/data/attachment/album/202311/02/215953yyz45l5l3v4fzqyv.jpg

View File

@@ -0,0 +1,113 @@
[#]: subject: "Garuda Linux “Spizaetus” Release Lets You Try KDE Plasma 6 Now!"
[#]: via: "https://news.itsfoss.com/garuda-linux-spizaetus-release/"
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16347-1.html"
Garuda Linux “Spizaetus” 发布,可以体验 KDE Plasma 6 了!
======
![][0]
> Garuda Linux 的最新升级带来了一些引人入胜的变化,以及一个全新的 ISO 版本。
Garuda Linux作为一款 [用户友好且基于 Arch Linux 的发行版][1],由于其可高度定制和可扩展性,近期已经吸引了大批用户。
Garuda Linux 提供了众多选项以满足不同的使用场景,无论是编程还是游戏。
目前Garuda Linux 的最新发布版,**Garuda Linux “Spizaetus”** 现已可用。
下面,让我来引导你了解一下这个版本。
### 🆕 Garuda Linux “Spizaetus”有哪些新变化
![][2]
这个版本的代号“[Spizaetus][3]” 是来源于一种通常在美洲热带地区发现的鹰鹞。此次发布的**主要亮点**包括:
* 提供 Hyprland ISO
* Ugrep 取代了 Grep
* 提供了实验性的 KDE Plasma 6 仓库
#### 提供 Hyprland ISO
![][5]
在这个 Garuda Linux 的版本中,推出了带有 [Hyprland][6] 动态平铺 Wayland 组合器的新 ISO这让**流畅的动画**和**轻松的窗口平铺**成为可能。
在此,开发者之一的 **dr460nf1r3** 表示:
> 关注精美的界面和模糊的窗口Hyprland 无疑是 Garuda 的完美搭配。
> 🚧 然而,不幸的是,他们**不得不停止一些其它变体的更新**,因为这些变体并未得到妥善维护。受影响的变体包括:**MATE**、**LXQt-Kwin**、**KDE-git** 和 **Wayfire**。
#### Ugrep 取代了 Grep
[grep][7] 命令行工具已被性能更强的 [ugrep][8] 文件模式搜索器所取代,后者声称自己是“**超快速且用户友好的 Grep 替代品**”。
这是一个令人感兴趣的改变,我们期待看到用户的反馈。
#### 实验性的 KDE Plasma 6 仓库(请谨慎!)
开发者们还引入了一个名为 [chaotic-aur-kde][10] 的实验性仓库,以提供**早期版本的 Plasma 6**。
请注意,这是为那些想提前体验 Plasma 6 设计的用户而设,并**不建议将其用于生产环境**。
一位开发者补充道:
> 我们一直在努力通过特定的 chaotic-aur-kde 仓库,提供 Plasma 6 的早期构建。
>
> 这可以让我们初步探索未来的 Plasma 6 将会是什么样子 - 它的首个版本计划在 2024 年 2 月发布。无需多说,这些都是来自主分支的实验性构建版,因此只适合喜欢接受挑战认的人去体验。
#### 🛠️ 其它的变化和改进
除了上述的亮点之外,还有些其他值得一提的细化调整:
* **garuda-update 工具已更新** 用于处理近期由于包名称变更引发的冲突。
* [Plymouth][11] **已被移除** ,现在在启动时,会显示终端的输出内容。
* 对他们的**基础设施进行了各种更新**,以服务用户。
* 为 Garuda Linux 安装了一个专用的 [Lemmy 实例][12]。
你可以查阅 [官方公告][13] 来获取更多详细信息。
### 📥 下载 Garuda Linux “Spizaetus”
Garuda Linux 提供了 **9 个不同的变体**,包括有 **KDE Plasma**、**GNOME**、**Xfce**、**Cinnamon**、**Sway** 等等选择。
你只需前往 [官方网站][15] ,就可以找到自己所需的镜像下载。
> **[Garuda Linux][15]**
💬 你会尝试这个新发布的版本吗?欢迎在评论中告知我们!
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/garuda-linux-spizaetus-release/
作者:[Sourav Rudra][a]
选题:[lujun9972][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/sourav/
[b]: https://github.com/lujun9972
[1]: https://itsfoss.com/arch-based-linux-distros/
[2]: https://news.itsfoss.com/content/images/2023/11/Garuda_Linux_Spizaetus.png
[3]: https://en.wikipedia.org/wiki/Spizaetus
[4]: https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png
[5]: https://news.itsfoss.com/content/images/2023/11/Garuda_Linux_Spizaetus_Hyprland.png
[6]: https://hyprland.org/
[7]: https://en.wikipedia.org/wiki/Grep
[8]: https://ugrep.com/
[9]: https://news.itsfoss.com/content/images/2023/04/Follow-us-on-Google-News.png
[10]: https://forum.garudalinux.org/t/kde-6-repository-testing/31442
[11]: https://wiki.archlinux.org/title/plymouth
[12]: https://lemmy.garudalinux.org/
[13]: https://forum.garudalinux.org/t/garuda-linux-spizaetus-231029/31843
[14]: https://news.itsfoss.com/content/images/size/w256h256/2022/08/android-chrome-192x192.png
[15]: https://garudalinux.org/downloads
[0]: https://img.linux.net.cn/data/attachment/album/202311/03/225157jllf15lmeqehhhip.jpg

View File

@@ -0,0 +1,232 @@
[#]: subject: "Using Asciiquarium for Aquarium Like Animation Effects in Linux Terminal"
[#]: via: "https://itsfoss.com/asciiquarium/"
[#]: author: "Sreenath https://itsfoss.com/author/sreenath/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16354-1.html"
在 Linux 终端利用 Asciiquarium 打造海底世界
======
![][0]
> 这是一个小小的 CLI 工具,可在 Linux 终端中添加水族箱。
[Linux 的众多命令工具][1] 里有一部分偏向于休闲娱乐而非工作。Asciiquarium 就是一个很好的例子。
Asciiquarium 为 Linux 终端提供了以 ASCII 格式构建的简单的水族馆动画效果。
![][2]
看起来有趣吗?我们一起进一步了解。
### 如何在 Linux 中安装 Asciiquarium
如果你是 Arch Linux 或 Fedora 用户,你可以直接从官方仓库中安装。
Fedora 的用户请运行:
```
sudo dnf install asciiquarium
```
而 Arch Linux 用户请运行:
```
sudo pacman -S asciiquarium
```
对于 UbuntuAsciiquarium 没有包含在默认仓库里。因此,你需要选择使用预编译的二进制文件,或者一些外部的 PPA。
#### 使用 PPA 安装 Asciiquarium
首先,添加 Asciiquarium 的 PPA
```
sudo add-apt-repository ppa:ytvwld/asciiquarium
sudo apt update
```
然后,安装相关的软件包和依赖:
```
sudo apt install asciiquarium
```
##### 删除 PPA
在你删除 Asciiquarium 的 PPA 之前,首先要移除相关软件包。
```
sudo apt purge asciiquarium
sudo apt autoremove
```
然后,从系统中移除 PPA
```
sudo add-apt-repository --remove ppa:openshot.developers/ppa
sudo apt update
```
#### 使用二进制文件安装 Asciiquarium
> 🚧 你需要为你的系统单独安装一些 Perl 模块。同时,它将在你的系统中安装几个与 Perl 相关的包,所以请注意。
![安装 Perl 依赖包][3]
要运行二进制文件,你需要从 CPAN 中安装 Animation 和 Curses 模块。
在 Ubuntu 中安装 CPAN
```
sudo apt install cpanminus libcurses-perl
```
接着,运行:
```
cpan Term::Animation
```
![Animation 模块安装][4]
该操作会要求你做一些配置,只需选取默认值即可。全部设置好后,来下载 Asciiquarium 的发布版。
> **[下载 Asciiquarium][5]**
解压文件,你会得到一个名为 Asciiquarium 的文件,接下来,让它具有执行权限。
![赋予 Asciiquarium 执行权限][6]
如果你需要通过命令行来完成,只需打开终端,并用 [chmod 命令][7]赋予执行权限。
```
chmod +x asciiquarium
```
此时,你可以直接在当前目录下运行这个文件以获取动画效果:
```
./asciiquarium
```
或者,你也可以把这个文件放在一个 [包含在你的 PATH 中][8]的位置上。
### 如何使用 Asciiquarium
Asciiquarium 使用起来非常简单,它不设任何命令行选项。只需运行 `asciiquarium`,你就能在终端中看到水族馆的动画效果。
![Asciiquarium 动画效果][2]
程序还提供了几个热键支持。
* `r`:重绘动画
* `p`:暂停/播放动画
* `q`:退出程序
> 📋
此外,也可以使用箭头键提升动画的速度。
#### 用 lolcat 加强 Asciiquarium 的体验
如果你想让 Asciiquarium 的颜色更丰富,可以综合使用 `lolcat`。首先安装 `lolcat`
```
sudo apt install lolcat
```
然后,运行:
```
asciiquarium | lolcat
```
![Asciiquarium Lolcat 效果][9]
如果你还需要更多的动画效果,可以适当调节 `lolcat` 的参数,例如:
```
asciiquarium | lolcat -p 200
```
![Asciiquarium 和 lolcat 的效果调整][10]
这样操作会产生各种不同的颜色效果。
你还可以使用 `lolcat``-i` 选项,来反转颜色:
```
asciiquarium | lolcat -i -p 200
```
![颜色反转效果][11]
### 赠品XFishTank让你的桌面诠释海底世界
还有一个类似的有趣命令叫做 `xfishtank`。它在你的根窗口,即桌面,创建一片海洋世界。你可以从 Ubuntu 的官方仓库直接安装 `xfishtank`
```
sudo apt install xfishtank
```
安装完成后,直接运行:
```
xfishtank
```
XFishTank 提供了很多选项供你调节,例如鱼儿的数量、气泡等等。你可以参考 [该命令的 man 页面][12] 学习更多相关内容。
```
xfishtank -b 100 -f 15
```
![Xfishtank 效果展示][13]
### 结语
就像你所看到的Linux 终端里的小鱼或许不能提供实质性的帮助,但它确实能带给我们愉快的心情。
如果你不是那么喜欢鱼,那么试试看牛吧。
> **[哞~ 我的 Linux 终端里有头牛][14]**
希望你在这些有趣的小工具的陪伴下,能够更加享受 Linux 的世界。:)
*题图MJ/83766cba-02e1-4d20-8797-a38e5c17a0c0*
--------------------------------------------------------------------------------
via: https://itsfoss.com/asciiquarium/
作者:[Sreenath][a]
选题:[lujun9972][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/sreenath/
[b]: https://github.com/lujun9972
[1]: https://itsfoss.com/funny-linux-commands/
[2]: https://itsfoss.com/content/images/2023/10/asciiquarium.png
[3]: https://itsfoss.com/content/images/2023/10/Installing-perl-dependencies.png
[4]: https://itsfoss.com/content/images/2023/10/animation-module-setup.png
[5]: https://robobunny.com/projects/asciiquarium/html/
[6]: https://itsfoss.com/content/images/2023/10/execution-permission-for-asciiquarium.png
[7]: https://linuxhandbook.com/chmod-command/
[8]: https://itsfoss.com/add-directory-to-path-linux/
[9]: https://itsfoss.com/content/images/2023/10/ascciiquarium-lolcat.png
[10]: https://itsfoss.com/content/images/2023/10/lolcat-200.gif
[11]: https://itsfoss.com/content/images/2023/10/inverted.png
[12]: https://itsfoss.com/linux-man-page-guide/
[13]: https://itsfoss.com/content/images/2023/10/xfishtank.png
[14]: https://linux.cn/article-15952-1.html
[0]: https://img.linux.net.cn/data/attachment/album/202311/06/104101r2sfkrf27ozfqffq.png

View File

@@ -0,0 +1,176 @@
[#]: subject: "8 Websites Linux Users Should Have bookmarked"
[#]: via: "https://itsfoss.com/useful-linux-websites/"
[#]: author: "Ankush Das https://itsfoss.com/author/ankush/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16366-1.html"
Linux 用户必备的 8 大网站
======
![][0]
> 这里列举的是我个人最喜欢的 Linux 网站,希望你也能喜欢。
既然你已经在关注我们,我们能为你解答大多数关于 Linux 的基础需求。
然而,对 Linux 的学习总是无止境的,即便是对于资深的 Linux 专家也是如此。👨‍💻👩‍💻
实际上,一些网站和博客内容对于 Linux 新手以及有经验的用户都十分有用。
下面我就来列举一些你或许应该收藏的优秀网站。
### 1、ArchWiki
![][1]
[ArchWiki][2] 平台提供了各种信息。无论你是寻求关于工具、安全技术、安装程序、桌面环境,或是其它任何主题的内容,你都可以在 ArchWiki 上找到相关的深入讨论。
从技术角度讲ArchWiki 充当着 Arch Linux 发行版的文档门户。不过,即使你并非 Arch Linux 的用户你仍然可以在这里找到教程、指南、常见问题解答F.A.Q以及大量其它的关键信息。
这些信息表述清晰,经过详尽的审查以及更新,且易于理解。
> **[ArchWiki][2]**
### 2、ExplainShell
![][3]
[ExplainShell][4] 是一个非常有趣的平台,可以帮助你快速识别命令中所使用的参数。
通常,我们需要分别检索手册页或者是命令信息。而有了 ExplainShell这个过程就变得更高效它能够迅速为你提供所需的信息同时为你提供对应的手册页链接。
它主要显示从 Ubuntu 的手册页库中提取的信息。所以,无论你是正在进行软件安装,进行 Git 提交,还是连接到 SSH你都可以借助 ExplainShell 来深入理解各种命令。
> **[ExplainShell][4]**
### 3、Crontab.guru
![][5]
如果你想要创建 [cron 任务][6] 以实现自动化,那么 [Crontab.guru][7] 就是一款必备的便利网站。
只需输入你计划在 cron 任务中采用的表达式,即可获取关于其是否会按预期工作的详细反馈。对于正确的表达式,它将直接呈现你想通过 cron 任务设定的时间表。
除此之外,即使你是 cron 的新手,它也会在编辑器里高亮表达月份/日期/星期的字段。
如果内容符合你的预期,就可以直接使用,或者编辑以修正并使用。
> **[Crontab.guru][7]**
### 4. DistroWatch
![][9]
[DistroWatch][10] 或许是每个 Linux 用户都耳熟能详的网站。该网站以列举当前热门 Linux 发行版而闻名,一些用户甚至参考其流行度榜单,以了解自己偏爱的发行版是否位列其他版本之上。
在这里,你可以获取到最新发布的各种 Linux 发行版的更新信息,其中可能包括一些你此前未曾听闻过的版本,以及新版本的简要更改日志。
如果你订阅了它们的通讯,还可以收到发行版评论以及一些有关开发的新闻。对于希望跟踪最新发行版的用户,这个网站值得你书签收藏。
> **[DistroWatch][10]**
### 5、Phoronix
![][11]
[Phoronix][12] 是目前为止最老牌的 Linux 网站之一,专注于发布面向硬件的内容。
无论你正寻找与最新处理器相关的 Linux 基准测试,还是 Linux 发行版的性能报告,你都可以在 Phoronix 上找到。除此之外,你还可以在这里定期获取到 Linux 世界的最新消息和开发动向。
> **[Phoronix][12]**
### 6、Ubuntu Blog
![][13]
Canonical 的博客主要关注 Ubuntu、其开发动态、企业级更新以及其它技术性进展。
如何你希望了解关于 Ubuntu 的所有事情,那么 [Ubuntu Blog][14] 就是你的最佳书签。无论你是物联网爱好者,还是利用 Ubuntu 进行机器人工程开发,总有新动态在发生。
坦白说,鉴于 Ubuntu 广泛的应用,你无法从任何特定的博客获取所有这些更新信息。
> **[Ubuntu Blog][14]**
### 7、GamingOnLinux
![][15]
尽管我们也会覆盖一些游戏更新,并为你提供一个 [游戏指南][16],但是对于全面了解 Linux 游戏和 Steam Deck 的一切,[GamingOnLinux][17] 是你的终极选择。
不论是新的开发动态、新游戏、SteamOS 的发布、SteamVR还是对 Linux 用户有重要影响的促销信息,你都可以在这里找到。
> **[GamingOnLinux][17]**
### 8、Reddit 的 /r/Linux 子论坛
![][18]
虽然 Reddit 已经与过去有所不同,但其子论坛仍然值得关注。
[/r/Linux 子论坛][19] 是一个值得你收藏的社区,你可以在这里读到开源世界和 Linux 领域的最新动态。也许 Reddit 用户并没有你想象中那么友好,但如果你想随时了解最新的变化,这个子论坛绝对值得你的收藏。
> **[/r/Linux 子论坛][19]**
### 私货Linux 中国
翻译这篇文章时,我觉得应该将我们的网站也推荐给大家:
Linux 中国是一家立足中文开源爱好者社区的网站,已经持续为大家提供了十多年的关于开源、技术方面的内容。除了网站,我们还提供了同名的微信公众号、知乎官方账号。此外,我们在 BiliBili、YouTube、微博、抖音上也提供了短视频内容在喜马拉雅上提供了音频内容以及很多人都在订阅的 RSS。
> **[Linux 中国][19A]**
顺便说一句,我们现在提供了深色模式和文本模式,你试过了吗?
### 我收藏了什么?
我很喜欢 **Phoronix 带来的硬件深度分析****Distrowatch 对新发行版项目的最新消息**,因此这两个网站一直位于我的收藏列表中。
而你需要收藏什么呢?
事实上,如果你是 Ubuntu 的桌面用户,关注 **Canonical 的博客**无疑能帮你了解最新版本的发布和新功能的解读。对于游戏爱好者,**GamingOnLinux** 是你的一站式解决方案。
假如你是那种总想知道事物运作方式或本质的人,那么,**ArchWiki**应该是你的首选。
当然,对于所有跟 Linux 相关的东西,我们会竭尽全力为你提供最佳的内容。所以,请别忘了也收藏我们哦!😉
💬 那么,你最喜欢收藏哪些网站呢?请在下方评论区告诉我吧!
*题图MJ/f29cd1de-dacc-4b38-b91d-a697d9adf8da*
--------------------------------------------------------------------------------
via: https://itsfoss.com/useful-linux-websites/
作者:[Ankush Das][a]
选题:[lujun9972][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [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/content/images/2023/10/archwiki-archlinux.jpg
[2]: https://wiki.archlinux.org/
[3]: https://itsfoss.com/content/images/2023/10/explainshell.jpg
[4]: https://explainshell.com/
[5]: https://itsfoss.com/content/images/2023/10/crontab-guru.jpg
[6]: https://itsfoss.com/cron-job/
[7]: https://crontab.guru/
[8]: https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png
[9]: https://itsfoss.com/content/images/2023/10/distrowatch-screenshot.jpg
[10]: https://distrowatch.com/
[11]: https://itsfoss.com/content/images/2023/10/phoronix.jpg
[12]: https://www.phoronix.com/
[13]: https://itsfoss.com/content/images/2023/10/ubuntu-blog.jpg
[14]: https://ubuntu.com/blog
[15]: https://itsfoss.com/content/images/2023/10/gamingonlinux.jpg
[16]: https://itsfoss.com/linux-gaming-guide/
[17]: https://gamingonlinux.com/
[18]: https://itsfoss.com/content/images/2023/10/linux-subreddit.jpg
[19]: https://www.reddit.com/r/linux/
[19A]: https://linux.cn/
[0]: https://img.linux.net.cn/data/attachment/album/202311/10/111732lnv0n709f7n59xqv.png

View File

@@ -0,0 +1,89 @@
[#]: subject: "An Open Source Web-Based AI-Powered Vector Graphics Editor: Wait, What? 🤯"
[#]: via: "https://news.itsfoss.com/graphite/"
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16359-1.html"
Graphite由 AI 助力的基于网络的开源矢量图形编辑器
======
![][0]
> 让我们了解更多即将亮相的矢量图形编辑器 Graphite。
此次,我们要介绍的是一个完全免费而开源的 **平面图形编辑器**,名为 “Graphite”它专注于创建一个完善的 **非破坏性所见即所得编辑体验**
许多为 Linux 提供 [出色的矢量图形编辑器][1] 的应用都有一个专门的应用程序,但 Graphite 则选择了不同的路径,成为一个 **仅基于浏览器的应用**。不过,根据路线图,它计划为 Linux、Windows 和 macOS 提供桌面应用。
考虑到它能在网络上运行,它的目标是在提供所有必要功能的同时保持轻量级。
> 📋 目前,此应用处于 alpha 开发阶段,许多计划中的功能还处在概念验证状态。
### Graphite综述 ⭐
![][3]
Graphite 是一个轻量级的、在网络浏览器上运行的 **基于 Rust 的矢量图形编辑器**。由 **Graphene 节点图组合引擎** 驱动,提供了一个易于访问、基于层的优秀编辑器。
其中 **最值得注意的特性** 包括:
* 精美、直观的界面
* 节点图图像效果
* AI 辅助艺术创作
* 实时协作
开发者分享的一段视频展示了几乎所有前述的特性。我被视频中如此直接简洁的编辑体验深深打动。
事实上,我亲自尝试使用它的 [开发版][4] 创作了下面的杰作,**编辑体验类似于你在大多数图形编辑器中所发现的**。
不过,我必须手动寻找各种选项,因为 Graphite **并没有官方文档**
我之前与首席开发者交谈过,他告诉我他们正在努力提供文档,并且已经在期待它的发布了。
同时,值得注意的是,在一个轻量级应用上我们获得众多需要文档的选项,这听起来就很赞!
![][5]
当然,目前的状态下我们还无法真正检验该应用的核心理念。然而,对我来说,如果 Graphite 矢量图形编辑器能实现其展示和承诺的话,那么它的影响将是 **颠覆性的**
我也好奇他们会如何在他们的自由开源应用中添加 AI 辅助艺术创作功能。谁不想试用这个呢?对吧!🤩
与此同时,我建议你关注 [Graphite 的路线图][6] 和 [GitHub 仓库][7],以了解重要的开发里程碑或可以贡献你的智慧。
### 📥 如何获取 Graphite
因为这是一个网络应用,它基本上可以 **在任何支持的网络浏览器上运行**,尽管我不确定智能手机上的编辑体验会怎样。然而,对于台式机、笔记本电脑,甚至是平板电脑,这都可能是个不错的选择。
你可以访问这个 [在线编辑器][8] 来获取最新的 alpha 版本。如果你想获取最新的开发版本,可以试试 [开发版][9]。
> [Graphite][8]
💬 你对 Graphite 矢量图形编辑器有什么看法?你喜欢它的概念吗?你认为他们能实现吗?欢迎分享你的想法。
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/graphite/
作者:[Sourav Rudra][a]
选题:[lujun9972][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/sourav/
[b]: https://github.com/lujun9972
[1]: https://itsfoss.com/vector-graphics-editors-linux/#bonus-svg-edit-web-based-alternative-
[2]: https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png
[3]: https://news.itsfoss.com/content/images/2023/11/Graphite_1.png
[4]: https://news.itsfoss.com/graphite/dev.graphite.rs
[5]: https://news.itsfoss.com/content/images/2023/08/Graphite_2.jpg
[6]: https://graphite.rs/features/
[7]: https://github.com/GraphiteEditor/Graphite
[8]: https://editor.graphite.rs/
[9]: https://dev.graphite.rs/
[0]: https://img.linux.net.cn/data/attachment/album/202311/07/233225ho5gwy3gypdkn5iz.jpg

View File

@@ -0,0 +1,152 @@
[#]: subject: "Fedora 39 Release Debuts With a New Immutable Variant"
[#]: via: "https://news.itsfoss.com/fedora-39-release/"
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16360-1.html"
Fedora 39 版本发布,新亮相一款不可变版本
======
![][0]
> Fedora 39 的发布带来了许多令人兴奋的变化和完善。
Fedora 是众多 Ubuntu 替代品中的热门选择,或者还可以说,用其来替换任何其他基于 Debian 的发行版都是一个理想的选择。
每次升级后Fedora 都会变得更好。现在让我们看一下最新的 Fedora 39 有哪些重要更新。
接下来,我将向你展示这个版本都包含了哪些新功能。
### 🆕 Fedora 39 版本更新:都有哪些新内容?
![][1]
得益于稳健强大的 [Linux 内核 6.5][2]Fedora 39 的发布包含了众多值得关注的新功能。其中一些关键的亮点包括:
* 安装程序的升级
* GNOME 45
* 应用/包的更新
* Fedora Onyx
#### 安装程序的升级
![][3]
尽管安装程序并未更换,我们在全新安装 Fedora 时,会看到 **一个新的欢迎屏幕**。在更新后的 Fedora 38 ISO 中,你可能已经注意到了这一点。
此外,**Fedora 的安装程序现在支持更大的 EFI 系统分区**,这个分区的 **最小尺寸达到了 500 MB**。这样做是为了便于在现代硬件上进行固件更新,也为未来引导程序特性做好了准备。
你可能会在想,[Anaconda Web UI][4] 出了什么情况?
其实,这个 UI 设计已经 [计划][5] 在 Fedora 40 中推出了,我们都非常期待未来它的表现!
#### GNOME 45
![][7]
Fedora 39 引入了最近发布的 [GNOME 45][8]。对于此次更新,我是期待已久。
早先的 “<ruby>活动<rt>Activities</rt></ruby>” 按钮已被替代,现在,你将看到一个 **药丸形状的动态指示器**,它可以清晰的显示出当前的工作空间,以及其他可供切换的工作空间。
你可以通过滚动它或者点击圆点来切换工作空间。
“<ruby>设置<rt>Settings</rt></ruby>” 应用程序里也陆续出现了一些新的变化,例如像 **经过翻新的 “<ruby>隐私<rt>Privacy</rt></ruby>” 标签页**,以及在 “<ruby>关于<rt>About</rt></ruby>” 菜单下新增的 “<ruby>系统细节<rt>System Details</rt></ruby>” 子菜单。
此外,有一些新的核心应用程序,比如新的图像查看器以及其他应用的更新,我强烈建议你查看我们所有关于 GNOME 45 的内容:
> **[GNOME 45 发布,弃用“活动”按钮][9]**
#### 应用/包的更新情况
![][10]
Fedora 39 同样更新了一套应用程序和软件包。主要的更新包括:
* [LibreOffice 7.6][11]
* [LLVM 17][12]
* [Golang 1.21][13]
* IBus 1.5.29
* Perl 5.38
* RPM 4.19
* Python 3.12
#### Fedora Onyx 的介绍
![][14]
今年早些时候Fedora 的不可变版本阵容迎来了一个新成员,叫做 “[Fedora Onyx][15]”。
那时,**我们并不知道它的具体发布日期**,但现在,它终于在 **Fedora 39 的版本更新中有所呈现**
这使得 Fedora 的不可变版本阵容 **增长到了四个**,其它分别是 [Fedora Silverblue][16]、[Fedora Kinoite][17],以及 [Fedora Sericea][18]。
**推荐阅读** 📖
> **[11 个不可变 Linux 发行版,适合那些想要拥抱未来的人们][19]**
#### 🛠️ 其他变化和改进
其他的变化包括一些注目的内容:
* Fedora 39 提供了一个绿色的 Bash 提示符。
* 移除了 Fedora 工作站的自定义 Qt 主题设计。
* 对于 Indic印度语言实现了谷歌 [Noto][20] 字体。
* Flatpak 不再使用模块进行构建,而是采用了一个独立的构建目标。
你还可以通过我们针对 [Fedora 39 特性][21] 的报道和查阅 [官方更改日志][22] 来更深入地了解这次的版本发布。
### 📥 如何下载 Fedora 39
和往常一样Fedora 的新版本更新带来了大量的改进和升级。你可以转到 [官方网站][23] 获取你所需要的 ISO 文件。
你也可以点击下面的按钮直接下载。
> **[点击获取 Fedora 39][23]**
**对于现有用户** ,我们有一个很实用的升级指南可以帮助你开始升级操作:
> **[如何从 Fedora 38 升级到 Fedora 39][24]**
*题图MJ/f6e0a56a-5e8b-4c0f-89c2-596375bba00f*
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/fedora-39-release/
作者:[Sourav Rudra][a]
选题:[lujun9972][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/sourav/
[b]: https://github.com/lujun9972
[1]: https://news.itsfoss.com/content/images/2023/10/Fedora_39_1.png
[2]: https://news.itsfoss.com/linux-kernel-6-5-release/
[3]: https://news.itsfoss.com/content/images/2023/10/Fedora_39_2.png
[4]: https://news.itsfoss.com/fedora-new-web-ui-install-dev/
[5]: https://fedoraproject.org/wiki/Changes/AnacondaWebUIforFedoraWorkstation
[6]: https://news.itsfoss.com/content/images/2023/04/Follow-us-on-Google-News.png
[7]: https://news.itsfoss.com/content/images/2023/10/Fedora_39_3.png
[8]: https://news.itsfoss.com/gnome-45-release/
[9]: https://linux.cn/article-16215-1.html
[10]: https://news.itsfoss.com/content/images/2023/10/Fedora_39_4.png
[11]: https://news.itsfoss.com/libreoffice-7-6/
[12]: https://releases.llvm.org/17.0.1/docs/ReleaseNotes.html
[13]: https://go.dev/blog/go1.21
[14]: https://news.itsfoss.com/content/images/2023/10/Fedora_39_5.png
[15]: https://news.itsfoss.com/fedora-onyx-official/
[16]: https://silverblue.fedoraproject.org/
[17]: https://kinoite.fedoraproject.org/
[18]: https://fedoraproject.org/sericea/
[19]: https://linux.cn/article-15841-1.html
[20]: https://fonts.google.com/noto
[21]: https://linux.cn/article-16207-1.html
[22]: https://fedoraproject.org/wiki/Releases/39/ChangeSet
[23]: https://fedoraproject.org/workstation/download/
[24]: https://itsfoss.com/upgrade-fedora-version/
[0]: https://img.linux.net.cn/data/attachment/album/202311/08/160126z6pyyg7t7iiagzzz.png

View File

@@ -0,0 +1,190 @@
[#]: subject: "Rename Files and Directories in Linux Command Line"
[#]: via: "https://itsfoss.com/linux-rename-files-directories/"
[#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "geekpi"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16411-1.html"
终端基础:在 Linux 中重命名文件和目录
======
![][0]
> 在这篇基本命令行教程中,你将学习在 Linux 终端重命名文件和目录的各种方法。
如何在 Linux 终端中重命名文件和目录?你可以使用 `mv` 命令。
是的,与用于将文件和文件夹从一个位置“移动”到另一个位置的 `mv` 命令相同。
你可以在“移动文件和目录”时简单地指定文件和目录的新名称。
要重命名文件,请使用:
```
mv old_file new_file
```
同样,要重命名目录,请使用:
```
mv old_dir new_dir
```
听起来很容易,对吧? 但我将在这里详细讨论文件重命名:
* 向你展示重命名的实际示例
* 显示通过结合 `find``exec` 命令批量重命名多个文件的示例
* 讨论用于批量重命名文件的专用程序
我们来一一看看。
### 使用 mv 命令重命名文件和目录
使用 `mv` 命令重命名同一目录中的文件:
```
mv file1.txt file2.txt
```
同样,你可以重命名同一位置的目录:
```
mv dir1 dir2
```
这是我重命名文件和目录的示例:
![][1]
如你所见,与 [cp 命令][2] 不同,你不必使用递归选项来通过 [mv 命令][3] 处理目录。
> 🚧 如果你尝试使用相同的名称重命名该文件,你会看到一个错误(显然)。
你还可以在将文件移动到另一个位置时重命名它:
```
mv old-file-name another_dir/new-file-name
```
在下面的示例中,我将名为 `firefox-quiz.txt` 的文件移动到示例目录。在这样做的同时,我将其重命名为 `quiz.txt`
![][4]
我将其视为剪切粘贴操作。
> 💡 虽然你可以将多个文件移动到另一个位置(`mv file1 file2 file2 dir`),但你不能使用 `mv` 重命名多个文件。为此,你必须采用我在以下部分中讨论的其他策略。
### 通过组合 mv、find 和 exec 命令重命名与某个模式匹配的多个文件
> 🚧 批量重命名此类文件时要格外小心。一步错误的举动就会导致无法挽回的不良结果。
`find` 命令用于根据文件名、类型、修改时间和其他参数在给定目录中查找文件。[exec 命令与 find][5] 结合使用,对 `find` 命令的结果执行命令。
使用 `find``exec``mv` 命令没有固定标准的结构。你可以根据需要组合它们。
假设你想通过在名称中添加 `_old` 来重命名当前目录中以 `.txt` 结尾的所有文件。所以 `file_1.txt` 变成 `file_1.txt_old` 等等。
```
find . -type f -name "*.txt" -exec mv {} {}_old ;
```
![][6]
这只是一个示例,你的重命名要求可能会有所不同。另外,**以上仅适用于不带空格的文件名**。
**专业提示**:在处理这样的批量操作时,你可以巧妙地使用 `echo` 命令来查看将执行什么操作,而不是实际执行它。如果看起来不错,那就采取实际行动吧。
例如,首先查看哪些文件将被重命名:
```
find . -type f -name "*.txt" -exec echo mv {} {}_old \;
```
![][7]
如你所见,实际上没有重命名任何文件。但是,如果你在没有使用回显(`echo`)命令的情况下运行上述命令,你将看到将执行什么命令。
如果你觉得没问题,请删除 `echo` 命令并继续进行实际的重命名。
```
find . -type f -name "*.txt" -exec mv {} {}_old \;
```
我在 《Efficient Linux 命令行》一书中学到了这个技巧。一本充满了这样的小宝石的优秀书。难怪它已成为 [我最喜欢的 Linux 书籍][8]之一。
### 使用 rename 命令轻松重命名多个文件
有一个名为 `rename` 的便捷命令行程序,可用于根据给定的 Perl 正则表达式模式批量重命名文件。
该实用程序不是 GNU 工具链的一部分,也不是预安装的。因此,你必须首先使用发行版的包管理器来安装它。
对于 Debian/Ubuntu命令为
```
sudo apt install rename
```
你可以通过以下方式使用它:
```
rename [options] perl_regex [files]
```
选项有:
* `-v` : 详细模式
* `-n` :无操作,显示将被重命名的文件,但不重命名它们
* `-o` : 不覆盖
* `-f` : 强制覆盖现有文件
* `-s` : 不重命名软链接,只重命名其目标
现在,让我们采用你在上一节中看到的相同示例。将 `*.txt` 重命名为 `.txt_old`
```
rename 's/\.txt$/.txt_old/' **
```
我不打算在这里解释正则表达式。`**` 表示查看所有子目录中的所有文件。
![][11]
正如你所看到的,它按预期工作。
### 总结
我希望你喜欢这个技巧,它可以帮助你学习在 Linux 命令行中执行基本任务。当然是针对那些想学习和使用命令行的人。桌面用户始终拥有用于此类任务的 GUI 工具。
如果你对 Linux 命令完全陌生,本系列将对你有很大帮助。
> **[终端基础Linux 终端入门][12]**
如果你有疑问或建议,请告诉我。
--------------------------------------------------------------------------------
via: https://itsfoss.com/linux-rename-files-directories/
作者:[Abhishek Prakash][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/abhishek/
[b]: https://github.com/lujun9972
[1]: https://itsfoss.com/content/images/2023/11/renaming-file-directory-linux-command-line.png
[2]: https://itsfoss.com/cp-command/
[3]: https://linuxhandbook.com/mv-command/
[4]: https://itsfoss.com/content/images/2023/11/rename-file-while-moving-another-location.png
[5]: https://linuxhandbook.com/find-exec-command/
[6]: https://itsfoss.com/content/images/2023/11/bulk-renaming-files-linux-1.png
[7]: https://itsfoss.com/content/images/2023/11/use-echo-for-dry-run-renaming-files.png
[8]: https://itsfoss.com/best-linux-books/
[9]: https://itsfoss.com/content/images/2023/04/efficient-at-linux-command-line-horizontal.png
[10]: https://amzn.to/3MPjiHw
[11]: https://itsfoss.com/content/images/2023/11/use-rename-command-linux.png
[12]: https://linux.cn/article-16104-1.html
[0]: https://img.linux.net.cn/data/attachment/album/202311/24/215355ef7zfwuh9cx74u47.jpg

View File

@@ -0,0 +1,113 @@
[#]: subject: "Whats new in Fedora Workstation 39"
[#]: via: "https://fedoramagazine.org/whats-new-fedora-workstation-39/"
[#]: author: "Merlin Cooper https://fedoramagazine.org/author/mxanthropocene/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16362-1.html"
Fedora Workstation 39 的新特性
======
![][0]
作为领先的开源桌面操作系统Fedora Workstation 由全球社区共同携手打造。本文将向你展示最新版本 Fedora Workstation 39 主要的用户所能见到的变化。如今,你可以在 [Fedora Workstation 官方网页][3] 下载体验,或是通过在“软件”应用内或使用 [dnf system-upgrade][4] 在你喜爱的终端模拟器进行升级。
### GNOME 45
Fedora Workstation 39 搭载了 GNOME 的最新版本——GNOME 45。这个版本为几个核心应用带来了时尚的新插件、全新的图像查看器应用、新增了在特定系统上的键盘背光设置等。同时我们的一个更具信息性的活动按钮及多项性能改进将伴随全面优化的整套用户体验而来。你可以在 [GNOME 45 发布说明][5] 查看更多详细信息。
#### 内在改进
GNOME 45 在用户体验的方方面面都有所细化,以下几点只是其中的一部分:
* 使用动态工作空间指示器取代了静态的活动按钮。新的指示器不仅显示工作空间数量,而且还能快速展示你正在关注的工作空间。
![新的动态工作空间指示器][6]
* 新增了一个摄像头活动指示器,要启用它,你可以通过 Pipewire 访问你的摄像头。这将与麦克风、屏幕录制和屏幕录像指示器协同工作。
* 快速设置菜单新增了一个键盘背光设置,这项设置仅支持特定的硬件设备。
![新的键盘背光设置][7]
* 重新设计了默认的光标,并修复了原来设置中很多长期存在的问题。
* Fedora Workstation 39 已不再支持 Adwaita-qt 与 QGnomePlatform Qt 主题,取而代之的是 Qt 应用的上游默认主题。
#### 核心应用
在 GNOME 45许多应用现在使用了 libadwaita 1.4 特色的新用户界面插件。这提供了美观的双色设计并将侧边栏延伸至窗口全高。这不仅使应用看起来更酷,而且在小窗口尺寸下更易于使用。可在 [此处][8] 查看详细信息。此外,新的 headerbar 插件使顶栏与窗口内容的视觉分隔更加明显。
![文件、设置和日历显示新的侧边栏插件][9]
Fedora Workstation 39 引入了 GNOME 的新图像查看器应用,内部代号为 Loupe。该应用自底而上使用 Rust、GTK 4和 libadwaita 进行构建以实现高性能和高度适应性。
![新的图像查看器应用(截图素材来自公有领域)][10]
在核心应用中我们还有很多细微的改进。例如:
* “设置”应用新增了“系统详情”区块,新的键盘布局查看器,简洁的描述字段,以及优化的键盘导航功能。
![新的系统详情窗口][11]
* 在“文件”应用中,我们对搜索结果进行了顺序优化。
* 我们在“软件”应用中提供了卸载 Flatpak 时删除用户数据的选项。
![卸载 Flatpak 应用时显示的新提示][12]
* “日历”应用新增了逐行滚动和更有用的搜索结果功能。
* 在“连接”应用中使用 RDP 连接时新增了复制文件、图像、文本的功能。
#### 性能改进
在 GNOME 45我们对性能提升投入了很多努力。
* 现在默认优先使用硬件加速的视频解码(在支持的环境下)。
* “文件”应用中的缩略图生成现在支持多线程处理。
* 我们显著减少了光标的卡顿和延迟。
* 在 GNOME Shell 中,以及“文件”、“软件”、“字符”等应用的搜索性能得到显著提升。
我们在整个技术栈中也进行了一些性能改进,包括 GLib、GTK 的 OpenGL 渲染器,和 systemd。这些性能优化工作都得益于我们在 Fedora Workstation 之前的版本中启用的帧指针!
### Fedora Linux 39 的底层突破
Fedora Linux 39 也有许多值得注意的底层变化,此处列出一些:
* Fedora Linux 39 现在将彩色 Bash 提示符作为默认设置!
![彩色 Bash 提示符][13]
* 对于使用 Indic 脚本的语系,我们现在把 Noto 字体作为默认字体,取代了旧的 Lohit 字体集。
* 由于使用量较低且缺乏主动维护,[模块化][14] 仓库在 Fedora Linux 39 中不再被提供。
* Fedora 模块构建服务将在 Fedora Linux 38 的生命周期结束后,也就是在 2024 年的 5 月左右结束。
*题图MJ/f06d0e9b-4c2e-4947-8333-e51340a45324*
--------------------------------------------------------------------------------
via: https://fedoramagazine.org/whats-new-fedora-workstation-39/
作者:[Merlin Cooper][a]
选题:[lujun9972][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://fedoramagazine.org/author/mxanthropocene/
[b]: https://github.com/lujun9972
[1]: https://fedoramagazine.org/wp-content/uploads/2023/10/f39workstation-816x345.jpg
[2]: https://fedoraproject.org/wiki/User:Jimmac
[3]: https://fedoraproject.org/workstation/
[4]: https://docs.fedoraproject.org/en-US/quick-docs/upgrading-fedora-offline/
[5]: https://release.gnome.org/45/
[6]: https://fedoramagazine.org/wp-content/uploads/2023/10/Activites5-1.gif
[7]: https://fedoramagazine.org/wp-content/uploads/2023/10/Keyboard.png
[8]: https://blogs.gnome.org/alicem/2023/09/15/libadwaita-1-4/
[9]: https://fedoramagazine.org/wp-content/uploads/2023/10/New-sidebars-1024x545.png
[10]: https://fedoramagazine.org/wp-content/uploads/2023/10/Screenshot-from-2023-10-20-02-54-42.png
[11]: https://fedoramagazine.org/wp-content/uploads/2023/10/Screenshot-from-2023-10-20-02-58-49.png
[12]: https://fedoramagazine.org/wp-content/uploads/2023/10/image-1.png
[13]: https://fedoramagazine.org/wp-content/uploads/2023/10/Screenshot-from-2023-10-20-03-14-17.png
[14]: https://docs.fedoraproject.org/en-US/modularity/
[0]: https://img.linux.net.cn/data/attachment/album/202311/09/143205c3c7636ooh0zuhuu.png

View File

@@ -0,0 +1,138 @@
[#]: subject: "How to rebase to Fedora Linux 39 on Silverblue"
[#]: via: "https://fedoramagazine.org/how-to-rebase-to-fedora-linux-39-on-silverblue/"
[#]: author: "Michal Konečný https://fedoramagazine.org/author/zlopez/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16369-1.html"
如何将 Silverblue 重定位到 Fedora Linux 39
======
![][0]
Fedora Silverblue 是 [一款基于 Fedora Linux 构建的面向桌面的操作系统][2]。这款操作系统非常适合日常使用、开发和容器化的工作流程。它有 [许多优势][3],例如可以在发生问题时轻松回滚操作。如果你想在 Fedora Silverblue 系统上更新或将系统 <ruby>重定位<rt>rebase</rt></ruby> 到 Fedora Linux 39本文会提供帮助。文章不仅会指导你执行操作还会教你如何在遇到意外情况时撤销操作。
### 更新你目前的系统
在实际重定位至 Fedora Linux 39 前,你需要先安装所有待处理的更新。你可以在终端中使用下面的命令:
```
$ rpm-ostree update
```
或者你也可以通过 GNOME “软件”应用安装更新,然后重新启动系统。
### 使用 GNOME “软件” 重定位
在 GNOME “软件”应用的更新页面上,你可以看到 Fedora Linux 的新版本已经可以使用。
首先,你需要点击 “<ruby>下载<rt>Download</rt></ruby>” 按钮来下载新的操作系统镜像。这个过程可能需要一些时间。完成后,你会发现更新已经准备好进行安装。
接下来,点击 “<ruby>重新启动 & 升级<rt>Restart & Upgrade</rt></ruby>” 按钮。这个过程只需要几分钟,一旦更新完成,计算机将会重新启动。重启后,你会看到崭新的 Fedora Linux 39 的系统环境,看起来很简单,是吧?
### 使用终端进行重定位
如果你更喜欢在终端操作,那么这部分指南就是为你准备的。
首先你需要确认 39 版本是否已经可以使用:
```
$ ostree remote refs fedora
```
在命令输出中你应该看到如下内容:
```
fedora:fedora/39/x86_64/silverblue
```
如果你想保留当前的部署(这意味着这个部署将会持续在 GRUB 中显示为一个选项,直到你手动移除它),你可以通过运行下面的命令实现:
```
# 0 是在 rpm-ostree 状态中的条目位置
$ sudo ostree admin pin 0
```
如果你想移除已经固定的部署,你可以使用下面的命令:
```
# 2 是在 rpm-ostree 状态中的条目位置
$ sudo ostree admin pin --unpin 2
```
然后,将你的系统重定位至 Fedora Linux 39 镜像。
```
$ rpm-ostree rebase fedora:fedora/39/x86_64/silverblue
```
最后,重启你的电脑,启动进入 Fedora Linux 39 版本。
### 如何进行回滚
如果遇到任何问题(例如,如果你无法启动 Fedora Linux 39回滚是非常容易的。在系统启动时在 GRUB 菜单中选择 Fedora Linux 39 之前的版本,然后你的系统就会启动这个更早的版本而非 Fedora Linux 39。如果你在启动过程中看不到 GRUB 菜单,那么在启动时尝试按下 `ESC` 键。如果你想让更早版本的选择永久生效,你可以使用下面的命令:
```
$ rpm-ostree rollback
```
现在,你已经了解如何将 Fedora Silverblue 系统重定位到 Fedora Linux 39以及如何进行系统回滚了。那么何不今天就试试看呢
### 常见问题解答
在每篇关于重定位 Silverblue 到新版本的文章的评论中,总会有相似的问题,因此我会在这个部分尝试解答这些问题。
**问题:在 Fedora 的重定位过程中我能跳过某些版本吗?例如直接从 Fedora 37 Silverblue 更新到 Fedora 39 Silverblue。**
答案:虽然有时可能可以在重定位过程中跳过某些版本,但并不推荐这样操作。你应当始终更新到紧邻的新版本(例如从 38 更新到 39以避免不必要的错误。
**问题:我安装了 [rpm-fusion][4] ,在重定位过程中出现错误,我应当怎样进行重定位?**
答案:如果你在 Silverblue 安装上加入了 [rpm-fusion][4],你在重定位前应当执行以下操作:
```
rpm-ostree update \
--uninstall rpmfusion-free-release \
--uninstall rpmfusion-nonfree-release \
--install rpmfusion-free-release \
--install rpmfusion-nonfree-release
```
执行完上述操作后,你可以按照本篇博文的步骤完成重定位过程。
**问题:这个指南是否适用于其他的 ostree 版本(例如 Kinoite Sericea**
答案:是的,你可以照着本指南的 _使用终端进行重定位_ 部分的操作来完成所有的 Fedora ostree 版本的重定位过程。只需要使用对应的分支即可。例如对于 Kinoite你可以使用
```
fedora:fedora/39/x86_64/kinoite
```
而非
```
fedora:fedora/39/x86_64/silverblue
```
*题图MJ/71150afc-ae44-48f3-8689-e86758e07b1e*
--------------------------------------------------------------------------------
via: https://fedoramagazine.org/how-to-rebase-to-fedora-linux-39-on-silverblue/
作者:[Michal Konečný][a]
选题:[lujun9972][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://fedoramagazine.org/author/zlopez/
[b]: https://github.com/lujun9972
[1]: https://fedoramagazine.org/wp-content/uploads/2021/04/silverblue-rebase-816x345.jpg
[2]: https://docs.fedoraproject.org/en-US/fedora-silverblue/
[3]: https://fedoramagazine.org/give-fedora-silverblue-a-test-drive/
[4]: https://rpmfusion.org/
[0]: https://img.linux.net.cn/data/attachment/album/202311/11/152119r6nv12c115vntzp4.png

View File

@@ -0,0 +1,139 @@
[#]: subject: "Fixing 'target not found' Error in Arch Linux"
[#]: via: "https://itsfoss.com/target-not-found-arch-linux/"
[#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "geekpi"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16419-1.html"
修复 Arch Linux 中的 “target not found” 错误
======
![][0]
> 如果在 Arch Linux 中安装软件包时遇到 “target not found” 错误,您可以采取以下措施。
有一天,我尝试在 Arch Linux 上安装 Hyprland。当我使用 [Pacman 命令安装][1] 它时,它抛出 “target not found”目标未发现错误。
```
$ sudo pacman -S hyprland
[sudo] password for abhishek:
error: target not found: hyprland
```
这是一个意外,因为我知道 Hyprland 是可用的。
**我的修复方法**是更新系统,在大多数情况下,它可以解决此问题。
```
sudo pacman -Syu
```
这里,本地包数据库不同步。我需要更新缓存。这里还建议更新系统。
在大多数情况下,这就是修复此错误的方法。但是,你看到此错误的原因可能还有其他一些。让我在这里详细讨论它们。
### 修复:更新系统
Arch Linux 是一个 [滚动发布发行版][2],并且它提供的更新非常频繁。如果你不每隔几天更新一次系统,你的本地包数据库将与远程镜像不同步,并且你将在安装软件包时遇到问题。
本地包数据库仅保留包的元数据,例如版本号、用于获取包的仓库 URL 等。
当你搜索软件包时,`pacman` 会提供搜索结果,表明该软件包可用。但是,该包在你的本地数据库中具有较旧的版本号。当 `pacman` 在远程仓库中搜索包(以获取实际的包)时,它不再找到旧版本的 URL。
这就是导致 “target not found” 错误的原因。
修复方法是更新本地数据库。这可以与 `pacman -Sy` 一起使用,但是,建议 [更新整个 Arch Linux 系统][3] 以避免依赖冲突等。
```
sudo pacman -Syu
```
> 📋 如果你已有几周没有更新系统,请做好更新超过 1 GB 的准备。这可能需要一些时间,具体取决于你的互联网速度和你使用的镜像。
就我而言Arch 安装在我的辅助系统上。由于我一周左右无法使用它,该系统已经过时了。更新后,我就可以安装 [Hyprland][4]。
![][5]
> 💡 如果这不起作用,请通过添加额外的 `y` 强制刷新所有包数据库: `sudo pacman -Syyu`
### 修复 “target not found” 错误的其他建议
如果上述方法没有为你解决此错误,这里有一些修复此错误的提示。
#### 仔细检查包名称
我亲爱的 Watson这可能看起来很简单但人们通常只是错误地输入了包名称。
Linux 区分大小写,包通常以小写命名。因此,如果你要使用一个名为 Flameshot 的流行工具,那么它的包名称很可能是 flameshot。
此外,某些软件的拼写与常见软件的拼写不同。例如,它是 hyprland这使我错误地输入了 hyperland使用通常的 “hyper” 拼写)。
![][6]
在极少数情况下,可能会混淆是 `l``I` 或者 `1`
基本上,确保你输入的包名称是正确的。
#### 查看该软件包在仓库中是否可用
Arch Linux 的仓库中有大量软件包。但这并不意味着它拥有所有可能的 Linux 软件包。
访问 Arch Linux 官方软件包网站:
[Arch Linux 软件包搜索][7]
在这里输入包名,查看该包是否可用。如果是,它是哪个仓库以及它在哪个设备上可用。
![][8]
`x86_64` 适用于英特尔架构,任何包含 ARM 架构的均适用于 [树莓派类设备][9]。
> 💡 如果在某些仓库中找到该软件包,但 pacman 即使在更新的系统上也找不到它,请检查 `pacman.conf` 文件并查看是否启用了所述仓库。
#### 确保它不是 AUR 包
[Arch 用户仓库AUR][10] 是提供更新包的附加社区支持平台。
现在,有多种使用 AUR 包的方法,但 `pacman` 不是其中之一。
检查你尝试安装的软件包是否是 AUR 软件包。首先检查官方 Arch 仓库,如上所述。如果不存在,请检查 AUR 页面。
如果它是 AUR 包,则必须 [使用 yay][11] 或一些 [其他 AUR 帮助程序][12]。你不能使用 `pacman` 安装 AUR 软件包。
### 你能解决这个问题吗?
在大多数情况下,更新系统可以解决此问题。在极少数情况下,可能还有其他原因,我已经提到了一些建议。
现在轮到你了。如果你能够解决此问题,请在评论区告诉我。
*题图MJ/b71c9760-4cb1-41de-a336-3e38026bcfeb*
--------------------------------------------------------------------------------
via: https://itsfoss.com/target-not-found-arch-linux/
作者:[Abhishek Prakash][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/abhishek/
[b]: https://github.com/lujun9972
[1]: https://itsfoss.com/pacman-command/
[2]: https://itsfoss.com/rolling-release/
[3]: https://itsfoss.com/update-arch-linux/
[4]: https://hyprland.org/
[5]: https://itsfoss.com/content/images/2023/11/installing-hyperland.png
[6]: https://itsfoss.com/content/images/2023/11/pacman-target-not-found-error-arch-linux.png
[7]: https://archlinux.org/packages/
[8]: https://itsfoss.com/content/images/2023/11/arch-linux-package-search.png
[9]: https://itsfoss.com/raspberry-pi-alternatives/
[10]: https://itsfoss.com/aur-arch-linux/
[11]: https://itsfoss.com/install-yay-arch-linux/
[12]: https://itsfoss.com/best-aur-helpers/
[0]: https://img.linux.net.cn/data/attachment/album/202311/26/235547szhfv062quxx0hry.png

View File

@@ -0,0 +1,78 @@
[#]: subject: "elementary OS 8 Details Revealed!"
[#]: via: "https://news.itsfoss.com/elementary-os-8-dev/"
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16375-1.html"
下一代 elementary OS 8 剧透
======
![][0]
> 你是否正在关注 elementary OS 8 的升级呢?接下来的信息你必须了解。
elementary OS 无疑是 [最美丽的 Linux 发行版][1] 中的佼佼者。就在一个月之前,注重隐私保护的 [elementary OS 7.1][2] 版本也发布了。
现在,通过最新的公告,我们对即将发布的 elementary OS 8 有了更全面的了解。
而且这一次,我们看起来可能会早一点体验到新的 elementary OS 版本。
让我们深入挖掘下吧!🤓
### elementary OS 8一项雄心勃勃的尝试
**elementary OS 的开发者已经将目标转向** OS 8 系列,他们 **对此寄予了深厚的期待,看好其带来的大量结构性改变和升级**
根据 elementary OS 8 的开发路线图,此次主要版本将以 **Ubuntu 24.04 的源代码库** 为基础构建,然而,目前的情况显示,我们至少需要 **等到 2024 年 4 月才能见到 OS 8 的发布**
同时,他们也明确提到,他们设定了一些 **非常雄心勃勃的目标**,希望未来的 6 个月内就可以完成。不过,他们 **打算在 OS 8 完全准备就绪后再进行发布**
那么,这些目标具体有哪些呢?
首先,他们计划默认实现对 [Wayland][3] 的 **过渡**,这不算令人意外,因为我们已经看到许多主流发行版都在采用它。接下来便是 **延续 GTK 4 的过渡**,其中包含了一些目前处于开发最后阶段的核心应用。
此外,他们正处于 **设计新的快速设置菜单的初级阶段**,并且还明确表示,**此次发布会对他们的桌面环境 Pantheon 的设计进行重大改进**。
读到这里,你可能会产生一个问题;**那么elementary OS 7 将会如何呢?**
开发者已经明确表示,**当前正在使用 OS 7 的用户从现在起可能会收到的更新会变少**,因为他们认为 OS 7 版本已经相当完善。
但是,所有以 Flatpak 包形式提供的应用还将继续定期接收更新,这当然也包括了许多 elementary OS 的核心应用。
想要了解更多信息,你可以参考 [官方公告][4]。如果你对 **elementary OS 8 的开发进度** 感兴趣,你可以在其 GitHub [项目看板][5] 上进行关注。
**你是否想要尝试一下 elementary OS 8 的早期构建版本呢?**
好的,**基于 Ubuntu 24.04 源代码库的试验构建版** 现在就可以下载了!请记住,想要获取下载权限,**你需要成为 GitHub 上的赞助者**。
现在就可以前往官方的 [构建网站][6] 开始下载了。
> **[elementary OS 早期访问][6]**
💬 你对此感到兴奋吗?欢迎在下方留言分享你的观点!
*题图MJ/e707c7c7-8d97-4f41-a955-cf455784493f*
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/elementary-os-8-dev/
作者:[Sourav Rudra][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://news.itsfoss.com/author/sourav/
[b]: https://github.com/lujun9972
[1]: https://itsfoss.com/beautiful-linux-distributions/
[2]: https://news.itsfoss.com/elementary-os-7-1/
[3]: https://wayland.freedesktop.org/
[4]: https://blog.elementary.io/lets-talk-os-8/
[5]: https://github.com/orgs/elementary/projects/128/views/1
[6]: https://builds.elementary.io/
[0]: https://img.linux.net.cn/data/attachment/album/202311/13/154850fxab1f5lwnj5qwz5.png

View File

@@ -0,0 +1,302 @@
[#]: subject: "How git cherry-pick and revert use 3-way merge"
[#]: via: "https://jvns.ca/blog/2023/11/10/how-cherry-pick-and-revert-work/"
[#]: author: "Julia Evans https://jvns.ca/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16378-1.html"
Git 的遴选和撤销操作是如何利用三路合并的
======
![][0]
大家好!几天前,我尝试向其他人解释 Git 遴选(`git cherry-pick`)的工作原理,结果发现自己反而更混淆了。
我原先以为 Git 遴选是简单地应用一个补丁,但当我真正这样尝试时,却未能成功!
因此,接下来我们将谈论我原来以为的遴选操作(即应用一个补丁),这个理解为何不准确,以及实际上它是如何执行的(进行“三路合并”)。
尽管本文的内容有些深入,但你并不需要全部理解才能有效地使用 Git。不过如果你和我一样对 Git 的内部运作感到好奇,那就跟我一起深入探讨一下吧!
### 遴选操作并不只是应用一个补丁
我先前理解的 `git cherry-pick COMMIT_ID` 的步骤如下:
* 首先是计算 `COMMIT_ID` 的差异,就如同执行 `git show COMMIT_ID --patch > out.patch` 这个命令
* 然后是将补丁应用到当前分支,就如同执行 `git apply out.patch` 这个命令
在我们详细讨论之前,我想指出的是,虽然大部分情况下这个模型是正确的,如果这是你的认知模型,那就没有问题。但是在一些细微的地方,它可能会错,我觉得这个疑惑挺有意思的,所以我们来看看它究竟是如何运作的。
如果我在存在合并冲突的情况下尝试进行“计算差异并应用补丁”的操作,下面我们就看看具体会发生什么情况:
```
$ git show 10e96e46 --patch > out.patch
$ git apply out.patch
error: patch failed: content/post/2023-07-28-why-is-dns-still-hard-to-learn-.markdown:17
error: content/post/2023-07-28-why-is-dns-still-hard-to-learn-.markdown: patch does not apply
```
这一过程无法成功完成,它并未提供任何解决冲突或处理问题的方案。
而真正运行 `git cherry-pick` 时的实际情况却大为不同,我遭遇到了一处合并冲突:
```
$ git cherry-pick 10e96e46
error: could not apply 10e96e46... wip
hint: After resolving the conflicts, mark them with
hint: "git add/rm <pathspec>", then run
hint: "git cherry-pick --continue".
```
因此,看起来 “Git 正在应用一个补丁”这样的理解方式并不十分准确。但这里的错误信息确实标明了 “无法**应用** 10e96e46”这么看来这种理解又不完全是错的。这到底是怎么回事呢
### 那么,遴选到底是怎么执行的呢?
我深入研究了 Git 的源代码,主要是想了解 `cherry-pick` 是如何工作的,最终我找到了 [这一行代码][1]
```
res = do_recursive_merge(r, base, next, base_label, next_label, &head, &msgbuf, opts);
```
所以,遴选实际上就是一种……合并操作?这有些出乎意料。那具体都合并了什么内容?如何执行这个合并操作的呢?
我意识到我对 Git 的合并操作并不是特别理解,于是我上网搜索了一下。结果发现 Git 实际上采用了一种被称为 “三路合并” 的合并方式。那这到底是什么含义呢?
### Git 的合并策略:三路合并
假设我要合并下面两个文件,我们将其分别命名为 `v1.py``v2.py`
```
def greet():
greeting = "hello"
name = "julia"
return greeting + " " + name
```
```
def say_hello():
greeting = "hello"
name = "aanya"
return greeting + " " + name
```
在这两个文件间,存在两处不同:
* `def greet()``def say_hello`
* `name = "julia"``name = "aanya"`
我们应该选择哪个呢?看起来好像不可能有答案!
不过,如果我告诉你,原始的函数(我们称之为 `base.py`)是这样的:
```
def say_hello():
greeting = "hello"
name = "julia"
return greeting + " " + name
```
一切似乎变得清晰许多!在这个基础上,`v1` 将函数的名字更改为 `greet``v2``name = "aanya"`。因此,合并时,我们应该同时做出这两处改变:
```
def greet():
greeting = "hello"
name = "aanya"
return greeting + " " + name
```
我们可以命令 Git 使用 `git merge-file` 来完成这次合并,结果正是我们预期的:它选择了 `def greet()``name = "aanya"`
```
$ git merge-file v1.py base.py v2.py -p
def greet():
greeting = "hello"
name = "aanya"
return greeting + " " + name⏎
```
这种将两个文件与其原始版本进行合并的方式,被称为 **三路合并**
如果你想在线上试一试,我在 [jvns.ca/3-way-merge/][2] 创建了一个小实验场。不过我只是草草制作,所以可能对移动端并不友好。
### Git 合并的是更改,而非文件
我对三路合并的理解是 —— Git 合并的是**更改**而不是文件。我们对同一个文件做出两种不同的更改Git 试图以合理的方式将这两种更改结合到一起。当两个更改都对同一行进行操作时Git 可能会遇到困难,此时就会产生合并冲突。
Git 也可以合并超过两处的更改:你可以对同一文件有多达 8 处不同的更改Git 会尝试将所有更改协调一致。这被称为八爪鱼合并,但除此之外我对其并不了解,因为我从未执行过这样的操作。
### Git 如何使用三路合并来应用补丁
接下来,让我们进入到一个有些出乎意料的情境!当我们讨论 Git “应用补丁”(如在变基 —— `rebase`、撤销 —— `revert` 或遴选 —— `cherry-pick` 中所做的)时,其实并非是生成一个补丁文件并应用它。相反,实际执行的是一次三路合并。
下面是如何将提交 `X` 作为补丁应用到你当前的提交,并与之前的 `v1``v2``base` 设置相对应:
1. **在你当前提交中**,文件的版本是 `v1`
2. **在提交 X 之前**,文件的版本是 `base`
3. **在提交 X 中**,文件的版本是 `v2`
4. 执行 `git merge-file v1 base v2` 以合并它们实际上Git 并不直接执行 `git merge-file`,而是运行一个实现这个功能的 C 函数)。
总的来说,你可以将 `base``v2` 视为“补丁”,它们之间的差异就是你想要应用到 `v1` 上的更改。
### 遴选如何运作
假设我们有如下提交图,并且我们打算在 `main` 分支上遴选提交 `Y`
```
A - B (main)
\
\
X - Y - Z
```
那么,如何将此情景转化为我们前面提过的 `v1``v2``base` 组成的三路合并呢?
* `B``v1`
* `X``base`,而 `Y``v2`
所以,`X``Y` 共同构成了这个“补丁”。
其实,`git rebase` 无非就是重复多次执行 `git cherry-pick` 的过程。
### 撤销如何运作
现在,假如我们希望在如下的提交图上执行 `git revert Y`
```
X - Y - Z - A - B
```
* `B``v1`
* `Y``base`,而 `X``v2`
这个过程反映的实际上就是遴选的情况,不过 `X``Y` 的位置颠倒了。我们需要这样做因为我们期望生成一个“反向补丁”。在 Git 中,撤销和遴选关系如此的紧密,它们甚至在同一个文件中实现:[revert.c][3]。
### “三路补丁”是一个非常棒的技巧
使用三路合并将提交作为补丁应用的这个技巧非常巧妙且酷炫,我很惊讶之前从未听说过!我并未听过一个特定的名字来描述这种方法,但我更倾向于称之为“三路补丁”。
“三路补丁”的理念在于,你可以通过两个文件来定义补丁:在应用补丁前后的文件(在我们这篇文章中称之为 `base``v2`)。
因此,总体来看有三个文件被涉及到:一个是原文件,另外两个构成了补丁。
最重要的是,与普通补丁相比,三路补丁是一个更加高效的补丁方案,因为在有两个完整文件的情况下,你拥有更丰富的上下文信息来进行合并。
以下是我们例子中的常规补丁的大致情况:
```
@@ -1,1 +1,1 @@:
- def greet():
+ def say_hello():
greeting = "hello"
```
而下面这就是一个三路补丁。不过,需要提醒的是这个“三路补丁”并不是一个真正的文件格式,这只是我自己提出的一种概念。
```
BEFORE: (the full file)
def greet():
greeting = "hello"
name = "julia"
return greeting + " " + name
AFTER: (the full file)
def say_hello():
greeting = "hello"
name = "julia"
return greeting + " " + name
```
### 《Building Git》 中提到了这点
James Coglan 的书籍 [《Building Git》][4] 是我在 Git 源码之外唯一找到的地方,他解释了 `git cherry-pick` 是如何在底层运用三路合并的我原以为《Pro Git》可能会提及这个但我并没能找到此话题的内容
我购买完这本书后发现,我早在 2019 年时就已经买过了,这对我来说真的是个很好的参考。
### Git 中的合并实际上比这更复杂
在 Git 中,合并不限于三路合并 —— 还有一种我不太理解的叫做“递归合并”,还有许多具体处理文件删除和移动的细节,同时也有多种合并算法。
如果想要了解更多相关知识我最好的建议是阅读《Building Git》尽管我还未完全阅读这本书。
### Git 应用到底做了什么?
我也参阅了 Git 的源代码,试图理解 `git apply` 的功能。它似乎(不出意外地)在 `apply.c` 中实现。这段代码解析了一个补丁文件,并通入目标文件来寻找应该在何处应用补丁。核心逻辑似乎在 [这里][5]:思路好像是从补丁建议的行数开始,然后向前向后找寻。
```
/*
* There's probably some smart way to do this, but I'll leave
* that to the smart and beautiful people. I'm simple and stupid.
*/
backwards = current;
backwards_lno = line;
forwards = current;
forwards_lno = line;
current_lno = line;
for (i = 0; ; i++) {
...
```
这个处理过程不禁让人觉得非常直白、与之前的期望相符。
### Git 三路应用的工作方式
`git apply` 命令中也有一个 `--3way` 参数,可以实现三路合并。因此,我们实际上可以通过如下方式,使用 `git apply` 来大体实现 `git cherry-pick` 的功能:
```
$ git show 10e96e46 --patch > out.patch
$ git apply out.patch --3way
Applied patch to 'content/post/2023-07-28-why-is-dns-still-hard-to-learn-.markdown' with conflicts.
U content/post/2023-07-28-why-is-dns-still-hard-to-learn-.markdown
```
但要注意,参数 `--3way` 并不只用到了补丁文件的内容!补丁文件开始的部分是:
```
index d63ade04..65778fc0 100644
```
`d63ade04``65778fc0` 是旧/新文件版本在 Git 对象数据库中的 ID因此 Git 可以用这些 ID 来执行三路补丁操作。但如果有人将补丁文件通过邮件发送给你,而你并没有新/旧版本的文件,就无法执行这个操作:如果你缺少 blob将会出现如下错误
```
$ git apply out.patch
error: repository lacks the necessary blob to perform 3-way merge.
```
### 三路合并有点历史了
有一部分人指出,三路合并比 Git 的历史还要久远,它起源于 70 年代末期左右。有一篇 2007 年的 [论文][5A] 对此进行了讨论。
### 就说这么多!
我真的对于我对于 Git 内部应用补丁的核心方法其实理解得并不深入这一点感到非常吃惊——学习这一点真的很酷!
虽然我对 Git 用户界面存在 [诸多不满][6],但是这个特定问题并不包含在内。三路合并似乎是统一解决一系列不同问题的优雅方式,它对于人们来说也很直观(“应用一个补丁”这个想法是许多编程者都习以为常的思考模式,而它底层实现为三路合并的细节,实际上没有人真正需要去思考)。
*我顺便快速推荐一下:我正在写一部有关 Git 的 [zine][7],如果你对它的发布感兴趣,你可以注册我非常不频繁的 [公告邮件列表][8]。*
*题图MJ/321bc2c9-4363-4661-802a-c74fb6a721b2*
--------------------------------------------------------------------------------
via: https://jvns.ca/blog/2023/11/10/how-cherry-pick-and-revert-work/
作者:[Julia Evans][a]
选题:[lujun9972][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://jvns.ca/
[b]: https://github.com/lujun9972
[1]: https://github.com/git/git/blob/dadef801b365989099a9929e995589e455c51fed/sequencer.c#L2353-L2358
[2]: https://jvns.ca/3-way-merge/
[3]: https://github.com/git/git/blob/dadef801b365989099a9929e995589e455c51fed/builtin/revert.c
[4]: https://shop.jcoglan.com/building-git/
[5]: https://github.com/git/git/blob/dadef801b365989099a9929e995589e455c51fed/apply.c#L2684
[5A]: https://www.cis.upenn.edu/~bcpierce/papers/diff3-short.pdf
[6]: https://jvns.ca/blog/2023/11/01/confusing-git-terminology/
[7]: https://wizardzines.com
[8]: https://wizardzines.com/zine-announcements/
[0]: https://img.linux.net.cn/data/attachment/album/202311/14/103134uddjt7ljl8dbbdj2.png

View File

@@ -0,0 +1,100 @@
[#]: subject: "Stunning New Steam Deck OLED Unveiled!"
[#]: via: "https://news.itsfoss.com/steam-deck-oled/"
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16368-1.html"
震撼登场!全新的 Steam Deck OLED 公开亮相!
======
![][0]
> 一款全新的、拥有更好显示效果以及卓越规格的 Steam Deck。
随着假期临近Valve 带给我们可能让这个季节更加欢乐的一些新鲜事。
他们近期的一次公告中,揭露了具备多项令人兴奋升级的**全新 Steam Deck 变体**。
快来一起深入了解一下吧。
### 🆕 Steam Deck OLED有哪些新特点
此款 Steam Deck 变体,如名所示,配备了**全新的 90Hz、7.4 英寸 HDR OLED 显示屏**,支持达到**高达 1,000 尼特的 HDR 峰值亮度**以及**600 尼特的 SDR 亮度**。
相较于现有的配备了 LCD 的型号, OLED 显示屏能够**为玩家呈现更为深邃的黑色和更加明亮的色彩**。
然而,超凡的显示屏**并非新款 Steam Deck 唯一的亮点**,它的处理器也实现了升级,**更高效的 6 纳米 AMD “Sephiroth” APU**如今负责所有板上的处理任务。
作为上述特性的补充Steam Deck OLED 还配备有**更大容量的 50Whr 电池**,能够带给你持久的电池续航。
在连接性方面,它提供了**Wi-Fi 6** 和 **Bluetooth 5.3**,实现了**更优质的下载体验**。
> 📋 配有一根 2.5m 的电缆的 45W USB Type-C PD3.0 电源供应器,以便为电池充电。
对于**控制器也有所改进**,优化了模拟摇杆的顶部材料和形状,实现了更佳的粘性和防尘性,肩部按钮的反应更敏捷,并提供优越的触感反馈等等。
**操作系统仍然是 LCD 版本上的 Steam OS 3**,但是,如果你想尝试些不同的东西,不妨试试 [Bazzite][1]。
#### 🛠️ 主要规格
如果你想了解,新推出的 Steam Deck OLED 其实力如何?这里有详细的配置:
* **APU** 6 纳米 AMD “Sephiroth”
* **CPU** 4 核,[Zen 2][3],主频 2.43.5 GHz
* **GPU** 8x [RDNA 2][4] 处理单元,主频 1.6 GHz
* **RAM** 16 GB LPDDR5
* **存储:** 512 GB 或 1 TB 的 NVMe SSD
* **操作系统:** [SteamOS][5] 3基于 Arch
* **重量:** 669 克
**但是,等等,还有更多!**
Valve 也推出了**特别的限量版 Steam Deck OLED** ,它具有所有相同的技术规格和 1 TB 的存储,**透明壳体以及烟雾般透明的外观色彩**。一起来看看吧👇
![][6]
它看起来真的很酷。我非常喜欢许多制造商现在的做法,通过透明的外壳来展示设备本身。也许,这是一个很好的趋势。
Valve 表明,这款设备只在美国和加拿大有**数量有限的供应**。
这个量产策略之所以限量,是因为他们想**尝试**了解是否有大量的对此类产品的需求,他们计划在未来尝试更多的颜色方案。
### 🛒 在哪儿购买呢?
**起价为 549 美元**,你可以在 11 月 16 日之后在 [Steam Store][7] 采购 Steam Deck OLED。
但请注意,并非所有 Steam 运营的区域都有销售。
> **[Steam Deck OLED][7]**
如果你在想;**原有的 Steam Deck LCD 版本会怎么样?**
嗯,这些机型依然会有供应,并会定期更新。
💬 在即将到来的假期季节,你会想要购买一台吗?请在下方让我知道你的想法!
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/steam-deck-oled/
作者:[Sourav Rudra][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://news.itsfoss.com/author/sourav/
[b]: https://github.com/lujun9972
[1]: https://news.itsfoss.com/bazzite/
[2]: https://news.itsfoss.com/content/images/size/w256h256/2022/08/android-chrome-192x192.png
[3]: https://en.wikipedia.org/wiki/Zen_2
[4]: https://en.wikipedia.org/wiki/RDNA_2
[5]: https://itsfoss.com/steamos/
[6]: https://news.itsfoss.com/content/images/2023/11/Steam_Deck_OLED_LE.png
[7]: https://store.steampowered.com/steamdeck
[0]: https://img.linux.net.cn/data/attachment/album/202311/11/144604h3w4wf53jg4ftw7w.jpg

View File

@@ -0,0 +1,74 @@
[#]: subject: "New Fedora Slimbook 14″ joins the Fedora Slimbook 16″"
[#]: via: "https://fedoramagazine.org/new-fedora-slimbook-14-joins-the-fedora-slimbook-16/"
[#]: author: "Joseph Gayoso https://fedoramagazine.org/author/joseph/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16377-1.html"
新款 Fedora Slimbook 14 加入 Fedora Slimbook 阵营
=====
![][6]
自从我们发布 Fedora Slimbook 笔记本电脑的公告到现在已经过去近一个月了。这只是我们和 Slimbook 之间的合作关系的开始,我们的目标是在更多的设备上预装 Fedora Linux 系统。目前我们已经收到了非常积极的反馈!剩下的,我们想要和大家分享更多来自我们硬件合作伙伴的新消息,我们希望你会觉得很兴奋。
### 介绍 Fedora Slimbook 14 英寸版
![][3]
尽管 Fedora Slimbook 16 英寸版的性能很出色但我们注意到许多消费者对于笔记本电脑的尺寸以及英伟达显卡的配置表示了担忧他们希望有更小的选择。为了回应这些反馈Slimbook 推出了更小尺寸的 Fedora Slimbook 14 英寸版,以满足这些消费者的需求。这款新型号的电脑仍然保持了 Fedora 品牌的标志,包括电脑后盖和超级键上的 Fedora 标志,并且预装了 Fedora Workstation 系统!
主要特性:
* 无英伟达 GPU虽然将这一点作为特性有些奇怪但对于那些希望享受 Fedora 完整体验、期望硬件全面兼容的消费者来说,这一点准没错。
* 英特尔 i7-12700H 处理器:能满足你所有的计算需求,性能出众。
* 99Wh 电池:超长电池寿命,让你在出门在外时也能保持高效。
* 轻便,只有 1.25 公斤:无论你去哪里,都可以轻松携带。
* 镁合金机身:外壳轻便且耐磨。
* 2880x1800 的屏幕分辨率:在高分辨率的显示屏上享受鲜明的视觉效果和细节。
* 99% 的 sRGB 色彩准确度:非常适合设计师,媒体和内容创作人员使用。
与 Fedora Slimbook 16 英寸版一样,每售出一台 Fedora Slimbook 14 英寸版,都会有 3% 的收益捐献给 GNOME 基金会。
我们希望 Fedora Slimbook 14 英寸版可以满足你对电源和便携性的需求,并且展示出你对 Fedora 的热爱!想了解更多信息,请访问 <https://fedora.slimbook.es/>。
![][4]
![][5]
![][7]
### 折扣
Slimbook 针对 Fedora 社区推出了两种折扣!
为了庆祝 Fedora Linux 39 的发布Slimbook 推出了针对两款 Fedora Slimbook 的 100 欧元折扣活动!当你选择结账的时候,你会发现这个折扣已经直接被应用上去了。这项优惠将在限定的时间中推出。
而且,如果你是 Fedora 项目的贡献者,还可以享受额外的 100 欧元折扣!关于如何获得这个折扣的更多信息,你可以点击 [这个社区博客文章][8] 查阅。
在我们与 Slimbook 建立并发展这个伙伴关系的过程中,我们非常感谢他们的良好合作。我们致力于让 Linux 更广泛地应用于硬件设备上,我们希望这些新的公告能让你对 Fedora 的硬件合作伙伴计划感到兴奋!
--------------------------------------------------------------------------------
via: https://fedoramagazine.org/new-fedora-slimbook-14-joins-the-fedora-slimbook-16/
作者:[Joseph Gayoso][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://fedoramagazine.org/author/joseph/
[b]: https://github.com/lujun9972
[1]: https://fedoramagazine.org/wp-content/uploads/2023/10/fedora-slimbook-masto-816x345.jpg
[2]: https://www.behance.net/daimarstein
[3]: https://fedoramagazine.org/wp-content/uploads/2023/11/Executive1416_FEDORA-1024x431.png
[4]: https://fedoramagazine.org/wp-content/uploads/2023/11/FedoraSlimbook_14_Keyboard-1024x683.jpg
[5]: https://fedoramagazine.org/wp-content/uploads/2023/11/FedoraSlimbook-1024x749.jpg
[6]: https://fedoramagazine.org/wp-content/uploads/2023/11/FedoraSlimbook_14_Key_F-947x1024.jpg
[7]: https://fedoramagazine.org/wp-content/uploads/2023/11/FEDORA_Pantalla_1614-1024x340.png
[8]: https://communityblog.fedoraproject.org/fedora-slimbook-contributor-discount/

View File

@@ -0,0 +1,147 @@
[#]: subject: "FIDO2 for centrally managed users"
[#]: via: "https://fedoramagazine.org/fido2-for-centrally-managed-users/"
[#]: author: "Iker Pedrosa https://fedoramagazine.org/author/ipedrosa/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16406-1.html"
为集中管理的用户提供 FIDO2 认证
=====
![][0]
Fedora 39 通过 SSSD 和 FreeIPA 为集中管理的用户开启了 FIDO2 认证功能。此篇文章将指导你如何进行配置和启用该功能。
### FIDO2
[FIDO2][4] 是以 [公钥加密][5] 为基础的开放式认证标准比起密码和一次性密码OTP它的安全性更高且易用性更强。它通常以类似小型 USB 和基于 NFC 的硬件安全令牌的方式提供。有几种符合 FIDO 认可的密钥品牌例如YubiKey、NitroKey、SoloKey v2 等等。
此协议的优势包括:
* 通过使用公钥加密来消除密码,从而实现无密码认证。
* 采用 [多因素认证][6]MFA以实现强力认证。
* 减少了应用程序之间密码或公钥的重复使用,降低数据泄露的风险。
* 私钥位于安全令牌中并且永不离开,这大大减少了被网络钓鱼的威胁。
#### 前面的文章
在 Fedora 杂志中,有多篇文章阐述了如 FIDO2 的应用场景:《[如何使用 FIDO2 验证本地用户][7]》 和 《[如何解锁硬盘][8]》。而此篇文章介绍了如何使用 FIDO2 验证远程用户。请注意,上述所说的设备,主要是指那些来自 Yubico 采用了其他协议的设备,而此篇指南的目的并非讨论这些协议。
### 集中管理的用户
[SSSD][9] 和 [FreeIPA][10] 最近新增了一个名为 <ruby>[通行密钥][11]<rt>passkey</rt></ruby> 的特性,以便对集中管理的用户执行 FIDO2 认证。此功能目前只在 [SSSD 2.9.0][12] 和 [FreeIPA 4.11.0][13] 等版本中支持。
Fedora 39 已经包含了这些版本,因此,它是第一个为集中管理的用户启用 FIDO2 认证的发行版。此外,用户在认证成功后,也会一并获取一个 Kerberos 票据,实现对其他服务的身份证明。
请注意,从这里开始,我将交替使用 FIDO2 和通行密钥这两个术语。
### FIDO2 认证
#### FIDO2 配置
作为额外的安全措施,应在设备中启用 MFA 以防你丢失了密钥,恶意行为者无法使用它进行认证。
列出连接的通行密钥设备:
```
$ fido2-token -L
```
为你的通行密钥设备设置 PIN将大写字母替换为所需的
```
$ fido2-token -C /dev/hidrawX
```
如果你有一个兼容的设备,你还可以启用其他认证因素,例如指纹。
#### 集中用户配置
首先,我们来创建一个用户,并将通行密钥(`passkey`)设置为其认证方式(请根据需要将大写字母替换为相应的):
```
$ ipa user-add USERNAME --first NAME --last SURNAME --user-auth-type=passkey
```
或者,如果你已有一个用户,并只需要将 `passkey` 设置为其认证方式:
```
$ ipa user-mod USERNAME --user-auth-type=passkey
```
#### 集中管理用户的 FIDO2 注册
接下来,我们为该用户注册这个通行密钥。这个步骤会提示你输入 PIN 码,随后触摸设备:
```
$ ipa user-add-passkey USERNAME --register
Enter PIN:
Please touch the device.
------------------------------------
Added passkey mappings to user "USERNAME"
------------------------------------
User login: USERNAME
Passkey mapping: passkey:XR/MXigmgiBz1z7/RlWoWZkXKIEf1x9Ux5uPNxtzzSTdTiF407u2nRYMPkK8pWjwUR8Aa2urCcC9cnpLbkKgFg==,MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEZqgERsFFv4Yev1dyo2Ap4PvLirg3P3Uhig5mNA4qf061C9q5rg0nMDz9AOYxZmBrwvQEXHCasMNO9VAIVnBIVg==
```
此刻,用户的认证已准备就绪。
注意,如果你想在生产环境中使用此用户,我建议你至少注册两个不同的设备。这样,即使你丢失了其中一个设备,你也可以用另一个进行认证。
#### 集中管理的用户的 FIDO2 认证
在初次尝试中,只有在物理连接令牌的系统中才能进行认证。这意味着你可以使用 `su` 或图形界面,但不能远程使用 ssh。
我们来试试使用 `su`,记得将大写字母替换为所需的。当要求你输入 PIN然后触摸设备时当设备灯闪烁时触摸它
```
$ su - USERNAME@DOMAIN
Insert your passkey device, then press ENTER.
Enter PIN:
```
如果一切进行顺利Kerberos 票据也应已被授予,然后你就可以向其他服务进行远程认证:
```
$ klist
Ticket cache: KCM:879400005:34862
Default principal: USERNAME@DOMAIN
Valid starting Expires Service principal
10/20/23 09:46:04 10/21/23 09:32:37 krbtgt/DOMAIN@DOMAIN
```
### 结论
此认证机制的目标是提升安全性。通过使用一种众所周知、开放式的标准实现无密码和多因素认证,从而降低数据泄露和网络钓鱼威胁的风险。用户只需要一个硬件令牌及另外一个如 PIN 或者指纹的认证方式,从而消除对密码的需求,同时提供了方便的多因素认证方法。更进一步,每个应用或服务都使用一个唯一的密钥,这样任何一个应用或服务的数据泄露都不会影响其他的。最后,用户并不需要知道他们的凭据的具体细节,只需了解他们使用了一个实体令牌,这极大地降低了社交工程攻击的可能性。
*题图MJ/838d5392-79b4-4c22-ab0f-c2ada4bf2833*
--------------------------------------------------------------------------------
via: https://fedoramagazine.org/fido2-for-centrally-managed-users/
作者:[Iker Pedrosa][a]
选题:[lujun9972][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://fedoramagazine.org/author/ipedrosa/
[b]: https://github.com/lujun9972
[1]: https://fedoramagazine.org/wp-content/uploads/2023/10/featured_image-816x345.png
[2]: https://unsplash.com/@lazycreekimages?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash
[3]: https://unsplash.com/photos/skeleton-key-surround-with-dry-leaves-1bjsASjhfkE?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash
[4]: https://fidoalliance.org/fido2/
[5]: https://en.wikipedia.org/wiki/Public-key_cryptography
[6]: https://en.wikipedia.org/wiki/Multi-factor_authentication
[7]: https://fedoramagazine.org/use-fido-u2f-security-keys-with-fedora-linux/
[8]: https://fedoramagazine.org/use-systemd-cryptenroll-with-fido-u2f-or-tpm2-to-decrypt-your-disk/
[9]: https://sssd.io/
[10]: https://freeipa.readthedocs.io/en/latest/
[11]: https://fedoraproject.org/wiki/Changes/Passkey_authentication_centrally_managed_users
[12]: https://sssd.io/release-notes/sssd-2.9.0.html
[13]: https://www.freeipa.org/release-notes/4-11-0.html
[0]: https://img.linux.net.cn/data/attachment/album/202311/23/095049o1kdwqugdgw5d1mk.png

View File

@@ -0,0 +1,116 @@
[#]: subject: "Install the Latest Calibre on Ubuntu"
[#]: via: "https://itsfoss.com/install-calibre-ubuntu/"
[#]: author: "Ishaan Bhimwal https://itsfoss.com/author/community/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16394-1.html"
在 Ubuntu 上安装最新版的 Calibre
======
![][0]
> Calibre 是一款自由开源的电子书软件。下面介绍如何在 Ubuntu Linux 上安装它。
作为电子书管理的瑞士军刀Calibre 一直备受书籍爱好者和数字书虫们的喜爱。
虽然存在更好(更轻量级)的 [电子书阅读器][1],但 Calibre 在创建电子书、转换格式以及管理你的电子书库方面做得更出色。简言之,它是满足你所有电子书需求的全套解决方案。
在本教程中,我将会涉及:
* 从 Ubuntu 的仓库安装 Calibre简单易行但可能不是最新版本
* 使用官方二进制文件安装 Calibre稍微复杂些但能获取最新版本
### 方法1从 Ubuntu 的仓库安装 Calibre
该方法简单易用,但可能无法获得最新的 Calibre 版本。但大多数情况下,这并不会造成问题。
Ubuntu 的 universe 仓库中提供了 Calibre 的稳定版本。此仓库在大多数系统中默认已启用,因此你只需在软件中心搜索即可,或者使用以下命令进行安装:
```
sudo apt install calibre
```
![][2]
安装完成后,在系统菜单中找到它,然后启动。
#### 卸载 Calibre
如果你不再需要它,可以使用下面的命令卸载 Calibre
```
sudo apt remove calibre
```
### 方法2获取最新版本的 Calibre
[Calibre 官方][3] 推荐安装提供的官方二进制文件。目的是防止用户使用存在错误或已过时的软件包。该二进制文件包含了所有私有版本的依赖项,支持 32 位和 64 位的机器。
首先,我们需要检查系统上是否已经安装了必要的依赖项:
```
apt -qq list xdg-utils wget xz-utils python3
```
![][4]
如果上述包出现缺失的情况,就将它们安装上。
然后,复制并粘贴下列命令到终端里,按回车键以进行安装或升级:
```
sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sudo sh /dev/stdin
```
![][5]
**可能的问题处理** :如果你看到一个关于证书不受信任的错误,这表示你的电脑没有安装任何根证书,所以不能安全地下载安装程序。如果你仍然想要继续,向 `wget` 输入命令 `--no-check-certificate`,就像下面的命令一样:
```
sudo -v && wget --no-check-certificate -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sudo sh /dev/stdin
```
#### 卸载 Calibre
如果你按照上述二进制安装法安装了 Calibre你可以通过运行 `sudo calibre-uninstall` 来卸载 Calibre。或者直接删除安装文件夹这样就可以删除 99% 的安装文件。
![][6]
### 结语
在一个数字阅读日渐普及的世界这款开源软件证明了由社区驱动创新的强大影响。无论你是一名资深的电子书爱好者还是正在初探数字阅读的世界Calibre 都有你需要的东西。
尽管有 [详细的文档资源][7],我们还提供了一个简单教程 [指导你在 Calibre 中创建电子书][8]。
> [完整指南:在 Linux 上使用 Calibre 创建电子书][8]
_在 Ubuntu 中体验 Calibre 吧。_
*题图MJ/b63e15a1-1a1c-4ae3-b6c7-40b4537cb567*
--------------------------------------------------------------------------------
via: https://itsfoss.com/install-calibre-ubuntu/
作者:[Ishaan Bhimwal][a]
选题:[lujun9972][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/community/
[b]: https://github.com/lujun9972
[1]: https://itsfoss.com/best-ebook-readers-linux/
[2]: https://itsfoss.com/content/images/2023/09/QPemD12.png
[3]: https://calibre-ebook.com/download_linux
[4]: https://itsfoss.com/content/images/2023/09/XnFwJIX.png
[5]: https://itsfoss.com/content/images/2023/09/UrBF54u.png
[6]: https://itsfoss.com/content/images/2023/09/i9KwV8E.png
[7]: https://calibre-ebook.com/help
[8]: https://linux.cn/article-7977-1.html
[9]: https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png
[0]: https://img.linux.net.cn/data/attachment/album/202311/18/120237ptz6266meg1st2i1.png

View File

@@ -0,0 +1,122 @@
[#]: subject: "OBS Studio 30.0: Linux Edition - No More Ubuntu 20.04, Yes to AV1"
[#]: via: "https://news.itsfoss.com/obs-studio-30/"
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16387-1.html"
OBS Studio 30.0 发布,增加 AV1 支持
===
![][0]
> OBS Studio 30.0 对于 Linux 用户来说是一个重要的版本。
OBS Studio 无疑是 [Linux 上最佳的录屏软件][1] 之一,它深受众多内容创作者的喜爱,他们使用它进行视频录制和流媒体直播。
近日的公告发布了一个**全新的主要版本** —— **OBS Studio 30**,距离今年一月份的 [上一次主要版本][2] 已经近 11 个月。
接下来就让我来一一为你介绍。
### 🆕 OBS Studio 30新特性有哪些
![][4]
作为一个主要版本OBS Studio 30 带来了一系列引人期待的改进,但是,也有一项变化可能**令部分用户感到不满**。
这个版本的一些**重要亮点**包括:
* 停止对 Ubuntu 20.04 的支持
* 用户界面/体验的提升
* 视频编码能力的提升
#### 停止对 Ubuntu 20.04 的支持
随着 OBS Studio 30 的发布,对 Ubuntu 20.04 的支持不复存在。
做出这个决定的主要原因在于,开发者发现维护 Qt 5 越来越困难,这也相应影响了他们在改进 OBS 用户界面/用户体验方面的工作。
实际上,**Ubuntu 20.04 是唯一一个使用 Qt 5 运行 OBS 的第一方发行版**,开发者表示,相比其他版本,这个发行版的**用户基数已经在逐渐减少**。
这**并非一夜之间的改变**早在六月份OBS Studio 就在其 GitHub 仓库中公布了这项改动。
目前,**Ubuntu 20.04 的用户**有两个选择,他们可以选择 [升级到 Ubuntu 22.04][5] 或更高版本,或者转用 OBS Studio 的 [Flatpak 版本][6]。
开发人员还**提到了他们可能会在 2025 年 4 月左右停止对 Qt 6.2 和 Ubuntu 22.04 的支持**。但是,你目前无需对此感到担忧。你可以阅读 [官方公告][7] 了解详细的计划。
#### 用户界面/体验的提升
![][8]
“<ruby>停靠区<rt>Docks</rt></ruby>”菜单中新增了一项“<ruby>全高窗口<rt>Full-Height docks</rt></ruby>”选项,这将方便集成 Twitch 和 YouTube 上直播时所见的长聊天窗口。
同时,**状态栏也进行了重新设计**,以更结构化、有条理的形式展示同样的信息,我个人非常喜欢这种改变。
**老状态栏有些棘手**,在我直播或录制期间,我经常会忘记它的存在 😆
![][9]
在 OBS Studio 30 中也新增了一个“<ruby>安全模式<rt>Safe Mode</rt></ruby>”,这种模式下,应用程序将在不加载任何第三方插件、脚本或 web sockets 的情况下启动,以便**对故障进行排除**。
你可以通过两种方式访问到这个模式,一是当 OBS Studio 断电意外关闭,另一种是在下图所示的“<ruby>帮助<rt>Help</rt></ruby>”菜单中手动启动。
![][10]
#### 视频编码能力的提升
OBS Studio 30 新增了对**三种主要视频编码技术**的支持,分别是 [Intel QSV][11] H264高效视频编码[HEVC][12]),以及 [AV1][13]。
许多使用 Linux 的内容创作者会赞赏 OBS 做出的这些改进。
#### 🛠️ 更多的改变和改进
除上述提及的点外,还有一些其他值得注意的改动:
* 引入了**WHIP/WebRTC 输出**。
* 可通过拖拽**调整过滤器顺序**。
* 提供**YouTube Live 控制室面板**的支持。
* 修复了在记录高帧率视频设备时**出现日志问题**的错误。
* 为 [Decklink][14] 增加了**10 位捕获和 HDR 回放**的支持。
要获得更多关于 OBS Studio 30 的详细信息,你可以查看 [官方发布备注][15]。
### 📥 下载 OBS Studio 30
你可以前往 [官方网站][16] 下载 OBS Studio 的最新版本,其支持**Linux****Windows** 以及 **macOS** 平台。
> **[OBS Studio][16]**
💬 你是否打算试运行一下 OBS Studio 30 然后告诉我们你的体验呢?
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/obs-studio-30/
作者:[Sourav Rudra][a]
选题:[lujun9972][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/sourav/
[b]: https://github.com/lujun9972
[1]: https://itsfoss.com/best-linux-screen-recorders/
[2]: https://news.itsfoss.com/obs-studio-29-release/
[3]: https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png
[4]: https://news.itsfoss.com/content/images/2023/11/OBS_Studio_30_1.png
[5]: https://itsfoss.com/upgrade-ubuntu-version/
[6]: https://flathub.org/apps/com.obsproject.Studio
[7]: https://github.com/obsproject/obs-studio/discussions/9055
[8]: https://news.itsfoss.com/content/images/2023/11/OBS_Studio_30_2-3.png
[9]: https://news.itsfoss.com/content/images/2023/11/OBS_Studio_30_3.png
[10]: https://news.itsfoss.com/content/images/2023/11/OBS_Studio_30_4.png
[11]: https://en.wikipedia.org/wiki/Intel_Quick_Sync_Video
[12]: https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding
[13]: https://en.wikipedia.org/wiki/AV1
[14]: https://www.blackmagicdesign.com/in/products/decklink
[15]: https://github.com/obsproject/obs-studio/releases/tag/30.0.0
[16]: https://obsproject.com/
[0]: https://img.linux.net.cn/data/attachment/album/202311/16/151643x7ppos30qo79oj31.jpg

View File

@@ -0,0 +1,137 @@
[#]: subject: "Blender 4.0 Release Arrives With Game-Changing Rendering Upgrades"
[#]: via: "https://news.itsfoss.com/blender-4-0-release/"
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16388-1.html"
Blender 4.0 版本发布,引领了渲染升级的新趋势
======
![][0]
> Blender 4.0 的发布使其成为图形设计从业者和艺术家们极度期待的工具。
Blender 是**一款极受欢迎的开源 3D 计算机图形软件套件**,它广泛应用于动画电影制作、动态图形、视觉特效等多个领域。
最近Blender 基金会公布了**Blender 4.0 的发布**,这一版本“为渲染、创建工具以及更多内容打开了新的可能性,让你的创造自由提升到新的水平。”
接下来,让我们一起探索一下此版本带来的新视野。
### 🆕 Blender 4.0:有哪些新特性?
![][1]
作为一个重要的版本更新Blender 4.0 提供了丰富的新功能。然而,我们只针对一些核心的亮点进行介绍:
* 用户界面改进
* 光线与阴影链接
* 改良的 Principled BSDF
* 更优化的人物绑定
在我们详述一些细节之际,下面是一则官方视频,总结了主要的变更事项:
![][1A]
#### 用户界面改进
![][2]
在 Blender 中,最重要且直接面向用户的部分无疑就是它的界面。界面的字体已经改变为 [Inter][3]**此举旨在改进应用内的文字可读性**,使它不受显示器大小影响。
此外,用户还可以通过在常规下拉菜单或者右键菜单上按空格键,使用**新增的搜索功能**。同时,一份调整过的启动画面,使得用户在旧版 Blender 中**迁移保存的设置**变得更为简单。
![][4]
我们在文件菜单中添加了一项新的 “<ruby>增量保存<rt>Save Incremental</rt></ruby>”选项。这个选项可以保存当前的 `.blender` 文件,并给文件名添加一个递增的数字。
#### 光线与阴影链接
![][5]
它被开发团队称为最受期待的功能Blender 4.0 新增了光线与阴影链接功能。这些功能使设计师可以**设置灯光以影响场景中特定的物体**,甚至可**控制哪些物体可以挡住光源**,充当阴影的遮挡体。
关于这些功能的更多详情,可以参考 [官方文档][6]。
#### 改良的 Principled BSDF
![][7]
Blender 的 [Principled BSDF][8] 系统在本次更新中进行了大规模的改良,现在此系统提供了**支持更广泛的材料类型,并且工作更加高效**。
改良亮点包括:
* <ruby>涂层<rt>Coat</rt></ruby>,这个特性可以模拟例如手机显示屏后的玻璃表面等效果,它被放置在所有的基层之上。
* <ruby>光泽感<rt>Sheen</rt></ruby>,现在它使用新的微纤维渲染模型,成为排列在发射和涂层之上的最高层,从而控制表面反光。
* 实现了多散射 GGX 策略,以在 Cycles 渲染器中提高渲染效率,使得**渲染过程中消耗的电力更少**。
* **金属表面的边缘着色**,这项新特性提供了一种装饰金属表面的艺术友好方式。它可以渲染基于 F82 着色模型的复杂折射系数。
以下的插图更好地展示了 Principled BSDF 的改善状况:
![][9]
#### 绑定优化
![][10]
Blender 4.0 的特性之一就是为 [Armature][11] 骨骼添加了 <ruby>骨骼集合<rt>Bone Collections</rt></ruby>。此设定继承了现有对象物体的实现方式。
它**替代了传统的编号层和骨骼组特性**,以吸取组合选择操作符来按骨骼颜色/集合来选择分组,设定 Armature 骨骼的颜色等等。
同时,**姿势库也得到了更新**,新引入的资产架使得姿势资产在 3D 视口中可见。
#### 🛠️ 更多改进和优化
一些其他值得注意的变化还包括:
* **停止支持英特尔 HD4000 系列的 GPU**。
* 实施了新的 [blendfile 兼容性政策][12]。
* **吸附功能得到改善**,变得更快,定位更精准。
* 对于 Linux 和 Windows 用户,现在 **OpenGL 的最小版本要求** 是 4.3。
* **Filmic 已被 AgX 视图转换所替代**,以更好地处理过度曝光区域的颜色。
你还可以参考 [官方发布说明][13] 来获取更多的更新详情。
### 📥 下载 Blender 4.0
你可以从 [官方网站][14] 下载 Blender 的最新 tar 包,支持 **Linux****Windows** 和 **macOS**等平台。
当然如果你有特殊需求,你也可以在 [Snap 商店][15] 或是 [Steam][16] 中下载。
> **[Blender][14]**
💬 准备好使用 Blender 4.0 开启你的创造之旅了吗?还是你有其他的首选项?欢迎在评论区分享你的想法!
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/blender-4-0-release/
作者:[Sourav Rudra][a]
选题:[lujun9972][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/sourav/
[b]: https://github.com/lujun9972
[1]: https://news.itsfoss.com/content/images/2023/11/Blender_4.0.png
[1A]: https://youtu.be/LcQkk7NbOoY
[2]: https://news.itsfoss.com/content/images/2023/11/Blender_4.0_2.png
[3]: https://rsms.me/inter/
[4]: https://news.itsfoss.com/content/images/2023/11/Blender_4.0_2b.png
[5]: https://news.itsfoss.com/content/images/2023/11/Blender_4.0_3.png
[6]: https://docs.blender.org/manual/en/4.0/render/cycles/object_settings/light_linking.html
[7]: https://news.itsfoss.com/content/images/2023/11/Blender_4.0_4.png
[8]: https://docs.blender.org/manual/en/4.0/render/shader_nodes/shader/principled.html
[9]: https://news.itsfoss.com/content/images/2023/11/Blender_4.0_4b.png
[10]: https://news.itsfoss.com/content/images/2023/11/Blender_4.0_5.png
[11]: https://docs.blender.org/manual/en/latest/animation/armatures/introduction.html
[12]: https://wiki.blender.org/wiki/Process/Compatibility_Handling
[13]: https://wiki.blender.org/wiki/Reference/Release_Notes/4.0
[14]: https://www.blender.org/download/
[15]: https://snapcraft.io/blender
[16]: https://store.steampowered.com/app/365670/Blender/
[0]: https://img.linux.net.cn/data/attachment/album/202311/16/155543ys6vz9tu2uzqw97v.jpg

View File

@@ -0,0 +1,144 @@
[#]: subject: "Linux eBook Reader Foliate 3.0 Upgrade: Improves UX With GTK 4 Port"
[#]: via: "https://news.itsfoss.com/foliate-3-0/"
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16393-1.html"
全新的 Linux 电子书阅读器 Foliate 3.0 发布
======
![][0]
> 引入了 GTK 4 ,并优化了 UI。
Foliate 作为 [Linux 上最佳的电子书阅读器][1] 之一,在过去几年中发展得相当不错,按时接收更新和错误修复。
然而,因为它的底层技术有些过时,使其近来显得有些老旧。但随着 **Foliate 3.0** 的发布,情况已经有所改变。
让我们详细了解一下这些改进。
### 🆕 Foliate 3.0:新增了什么?
![][2]
在 3.0 版本中,**Foliate 进行了彻底的重构**,采用了 [GTK 4][3]、[Adwaita][4] 等现代平台库。开发者预示,我们可以期待一个焕然一新的界面和比以前更出色的性能。
现在Foliate 开始**使用自己的电子书解析器/渲染器**,并抛弃了 [Epub.js][5] 和 [KindleUnpack][6]。遗憾的是,他们在 3.0 发布时**并未及时移植某些功能**,因此这个版本**并未支持 [OPDS][7] 目录和离线字典**。
说到这次发布的一些亮点,其中包括:
* 用户界面全新升级
* 更佳的渲染质量
* 优化的用户体验
#### 用户界面全新升级
![][8]
如你所见Foliate 的主要变化在于其用户界面。它现在采用了**全新的布局**,把图书库和电子书阅读器都整合到一个窗口中。
还有一个**新的侧边栏**,在这里你可以找到一些重要的功能,如目录、注释和书签。
![][9]
在顶部,你可以看到**一个方便的搜索栏**,让你可以在书中搜索特定的词或句子,同时有一个“<ruby>图书库<rt>Library</rt></ruby>”按钮可以帮助你回到你的电子书库。
> 📋 你可以用标题栏中的选项来切换侧边栏的可见性。
此外,分页模式也进行了重大的改进。
它们增加了**动画和 1:1 触屏/触摸板滑动手势的支持****支持超过两列**,优化了调整性能,此外,你还可以**配置最大的宽度和高度**等等。
#### 更佳的渲染
在书籍渲染方面,也进行了许多改进,其中一些重要的包括:
* 如果一个网页不是有效的 XHTML那它会被当作 HTML 处理。
* Mobipocket 文件现在被优化为多个部分以显著提升性能。
* 当一个文件被重新加载时,它现在会正确的重新加载,而不只是重新渲染。
* 不再直接将整个文件加载至内存,因此启动时间和内存使用得以优化。
#### 优化的用户体验
![][10]
除了用户界面的优化Foliate 3.0 还引入了一些**非常酷的用户体验改进**。
比如书签系统,添加书签的按钮被移至标题栏,并且被添加书签的页面会在顶部显示特殊的标记。
图像查看器也有所更新,如今当图片被复制时,它们将以其原始格式进行保存。此外,只需双击图片就能打开,其它选项已被删除。
进度滑块同样得到了优化,现在可以支持键盘和鼠标滚轮操作。在那里你还能找到更新了的配音功能,现在使用 [Speech Dispatcher][11] 作为其后端。
#### 🛠️ 其他的改动和优化
这次改进还包含了一些其他方面,值得注意的包括:
* 现在你可以打印特定的章节和文本选段。
* 把实验性质的传统标题栏选项移除了。
* 注解现在会随着各自的时间戳保存下来。
* 一个安全修复,禁用了对 Flatpak 的沙盒逃逸权限。
你可以浏览 [官方发布公告][12] 获取更多信息。
### 📥 如何获取 Foliate
这个全新的 Foliate 版本已经在 [Flathub 商店][13] 和 [Snap 商店][14](目前只提供开发者版本)上架。
> **[Foliate (Flathub)][13]**
你还可以通过访问 [官方网站][15] 或 [GitHub 仓库][16] 来获取源代码。
### 故障排除提示
如果 **Foliate 不能正常加载 EPUB 文件**,而你**正在使用英伟达显卡**,那么你可以设置以下任一环境变量来启动应用:
```
WEBKIT_DISABLE_COMPOSITING_MODE=1
```
```
WEBKIT_DISABLE_DMABUF_RENDERER=1
```
如果你已经安装了 **Foliate 的 Flatpak 版本**,只需使用 [Flatseal][17] 添加相同的环境变量即可。对我来说,第二个命令奏效了。
你可以查阅相关的 [GitHub 议题][18] 进行进一步的故障排除。
*题图MJ/647e01ba-def8-43f3-b21a-94b2a54ee5c6*
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/foliate-3-0/
作者:[Sourav Rudra][a]
选题:[lujun9972][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/sourav/
[b]: https://github.com/lujun9972
[1]: https://itsfoss.com/best-ebook-readers-linux/
[2]: https://news.itsfoss.com/content/images/2023/11/Foliate_3.0_1.png
[3]: https://blog.gtk.org/2020/12/16/gtk-4-0/
[4]: https://gnome.pages.gitlab.gnome.org/libadwaita/
[5]: https://github.com/futurepress/epub.js
[6]: https://github.com/kevinhendricks/KindleUnpack
[7]: https://en.wikipedia.org/wiki/Open_Publication_Distribution_System
[8]: https://news.itsfoss.com/content/images/2023/11/Foliate_3.0_2.png
[9]: https://news.itsfoss.com/content/images/2023/11/Foliate_3.0_3.png
[10]: https://news.itsfoss.com/content/images/2023/11/Foliate_3.0_4.png
[11]: https://wiki.archlinux.org/title/Speech_dispatcher
[12]: https://github.com/johnfactotum/foliate/releases/tag/3.0.0
[13]: https://flathub.org/apps/com.github.johnfactotum.Foliate
[14]: https://snapcraft.io/foliate
[15]: https://johnfactotum.github.io/foliate/
[16]: https://github.com/johnfactotum/foliate
[17]: https://itsfoss.com/flatseal/
[18]: https://github.com/johnfactotum/foliate/issues/1093
[0]: https://img.linux.net.cn/data/attachment/album/202311/18/113642mf8bft5rmo7io5ux.png

View File

@@ -0,0 +1,280 @@
[#]: subject: "Writing useful terminal TUI on Linux with dialog and jq"
[#]: via: "https://fedoramagazine.org/writing-useful-terminal-tui-on-linux-with-dialog-and-jq/"
[#]: author: "Jose Nunez https://fedoramagazine.org/author/josevnz/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16391-1.html"
使用 dialog 和 jq 在 Linux 上编写高效终端 TUI
======
![][0]
### 为何选择文字用户界面TUI
许多人每日都在使用终端,因此,<ruby>文字用户界面<rt>Text User Interface</rt></ruby>TUI逐渐显示出其价值。它能减少用户输入命令时的误差让终端操作更高效提高生产力。
以我的个人使用情况为例:我每日会通过家用电脑远程连接到我使用 Linux 系统的实体 PC。所有的远程网络连接都通过私有 VPN 加密保护。然而,当我需要频繁重复输入命令进行连接时,这种经历实在令人烦躁。
于是,我创建了下面这个 Bash 函数,从而有所改进:
```
export REMOTE_RDP_USER="myremoteuser"
function remote_machine() {
/usr/bin/xfreerdp /cert-ignore /sound:sys:alsa /f /u:$REMOTE_RDP_USER /v:$1 /p:$2
}
```
但后来,我发现自己还是频繁地执行下面这条命令(在一行中):
```
remote_pass=(/bin/cat/.mypassfile) remote_machine $remote_machine $remote_pass
```
这太烦了,更糟糕的是,我的密码被明文存储在我的电脑上(我虽然使用了加密驱动器,但这点依然令人不安)。
因此,我决定投入一些时间,编写一个实用的脚本,从而更好地满足我的基本需求。
#### 我需要哪些信息才能连接到远程桌面?
实际上,要连接到远程桌面,你只需提供少量信息。这些信息需要进行结构化处理,所以一个简单的 JSON 文件就能够满足要求:
```
{"machines": [
{
"name": "machine1.domain.com",
"description": "Personal-PC"
},
{
"name": "machine2.domain.com",
"description": "Virtual-Machine"
}
],
"remote_user": "MYUSER@DOMAIN",
"title" : "MY COMPANY RDP connection"
}
```
尽管在各种配置文件格式中JSON 并非最佳选择(例如,它不支持注解),但是 Linux 提供了许多工具通过命令行方式解析 JSON 内容。其中,特别值得一提的工具就是 [jq][5]。下面我要向你展示如何利用它来提取机器列表:
```
/usr/bin/jq --compact-output --raw-output '.machines[]| .name' \
$HOME/.config/scripts/kodegeek_rdp.json) \
"machine1.domain.com" "machine2.domain.com"
```
`jq` 的文档可以在 [这里][6] 找到。另外,你也可以直接将你的 JSON 文件复制粘贴到 [jq play][7],试用你的表达式,然后在你的脚本中使用这些表达式。
既然已经准备好了连接远程计算机所需的所有信息,那现在就让我们来创建一个美观实用的 TUI 吧。
#### Dialog 的帮助
[Dialog][8] 是那些你可能希望早些认识的、被低评估的 Linux 工具之一。你可以利用它构建出一个井然有序、简介易懂,并且完美适用于你终端的用户界面。
比如,我可以创建一个包含我喜欢的编程语言的简单的复选框列表,且默认选择 Python
```
dialog --clear --checklist "Favorite programming languages:" 10 30 7\
1 Python on 2 Java off 3 Bash off 4 Perl off 5 Ruby off
```
![][9]
我们通过这条命令向 `dialog` 下达了几个指令:
* 清除屏幕(所有选项都以 `--` 开头)
* 创建一个带有标题的复选框(第一个位置参数)
* 决定窗口尺寸(高度、宽度和列表高度,共 3 个参数)
* 列表中的每条选项都由一个标签和一个值组成。
惊人的是,仅仅一行代码,就带来了简洁直观和视觉友好的选择列表。
关于 `dialog` 的详细文档,你可以在 [这里][10] 阅读。
#### 整合所有元素:使用 Dialog 和 JQ 编写 TUI
我编写了一个 TUI它使用 `jq` 从我的 JSON 文件中提取配置详细信息,并且使用 `dialog` 来组织流程。每次运行,我都会要求输入密码,并将其保存在一个临时文件中,脚本使用后便会删除这个临时文件。
这个脚本非常基础,但它更安全,也使我能够专注于更重要的任务 🙂
那么 [脚本][11] 看起来是怎样的呢?下面是代码:
```
#!/bin/bash
# Author Jose Vicente Nunez
# Do not use this script on a public computer. It is not secure...
# https://invisible-island.net/dialog/
# Below some constants to make it easier to handle Dialog
# return codes
: ${DIALOG_OK=0}
: ${DIALOG_CANCEL=1}
: ${DIALOG_HELP=2}
: ${DIALOG_EXTRA=3}
: ${DIALOG_ITEM_HELP=4}
: ${DIALOG_ESC=255}
# Temporary file to store sensitive data. Use a 'trap' to remove
# at the end of the script or if it gets interrupted
declare tmp_file=$(/usr/bin/mktemp 2>/dev/null) || declare tmp_file=/tmp/test$$
trap "/bin/rm -f $tmp_file" QUIT EXIT INT
/bin/chmod go-wrx ${tmp_file} > /dev/null 2>&1
:<<DOC
Extract details like title, remote user and machines using jq from the JSON file
Use a subshell for the machine list
DOC
declare TITLE=$(/usr/bin/jq --compact-output --raw-output '.title' $HOME/.config/scripts/kodegeek_rdp.json)|| exit 100
declare REMOTE_USER=$(/usr/bin/jq --compact-output --raw-output '.remote_user' $HOME/.config/scripts/kodegeek_rdp.json)|| exit 100
declare MACHINES=$(
declare tmp_file2=$(/usr/bin/mktemp 2>/dev/null) || declare tmp_file2=/tmp/test$$
# trap "/bin/rm -f $tmp_file2" 0 1 2 5 15 EXIT INT
declare -a MACHINE_INFO=$(/usr/bin/jq --compact-output --raw-output '.machines[]| join(",")' $HOME/.config/scripts/kodegeek_rdp.json > $tmp_file2)
declare -i i=0
while read line; do
declare machine=$(echo $line| /usr/bin/cut -d',' -f1)
declare desc=$(echo $line| /usr/bin/cut -d',' -f2)
declare toggle=off
if [ $i -eq 0 ]; then
toggle=on
((i=i+1))
fi
echo $machine $desc $toggle
done < $tmp_file2
/bin/cp /dev/null $tmp_file2
) || exit 100
# Create a dialog with a radio list and let the user select the
# remote machine
/usr/bin/dialog \
--clear \
--title "$TITLE" \
--radiolist "Which machine do you want to use?" 20 61 2 \
$MACHINES 2> ${tmp_file}
return_value=$?
# Handle the return codes from the machine selection in the
# previous step
export remote_machine=""
case $return_value in
$DIALOG_OK)
export remote_machine=$(/bin/cat ${tmp_file})
;;
$DIALOG_CANCEL)
echo "Cancel pressed.";;
$DIALOG_HELP)
echo "Help pressed.";;
$DIALOG_EXTRA)
echo "Extra button pressed.";;
$DIALOG_ITEM_HELP)
echo "Item-help button pressed.";;
$DIALOG_ESC)
if test -s $tmp_file ; then
/bin/rm -f $tmp_file
else
echo "ESC pressed."
fi
;;
esac
# No machine selected? No service ...
if [ -z "${remote_machine}" ]; then
/usr/bin/dialog \
--clear \
--title "Error, no machine selected?" --clear "$@" \
--msgbox "No machine was selected!. Will exit now..." 15 30
exit 100
fi
# Send 4 packets to the remote machine. I assume your network
# administration allows ICMP packets
# If there is an error show message box
/bin/ping -c 4 ${remote_machine} >/dev/null 2>&1
if [ $? -ne 0 ]; then
/usr/bin/dialog \
--clear \
--title "VPN issues or machine is off?" --clear "$@" \
--msgbox "Could not ping ${remote_machine}. Time to troubleshoot..." 15 50
exit 100
fi
# Remote machine is visible, ask for credentials and handle user
# choices (like password with a password box)
/bin/rm -f ${tmp_file}
/usr/bin/dialog \
--title "$TITLE" \
--clear \
--insecure \
--passwordbox "Please enter your Windows password for ${remote_machine}\n" 16 51 2> $tmp_file
return_value=$?
case $return_value in
$DIALOG_OK)
# We have all the information, try to connect using RDP protocol
/usr/bin/mkdir -p -v $HOME/logs
/usr/bin/xfreerdp /cert-ignore /sound:sys:alsa /f /u:$REMOTE_USER /v:${remote_machine} /p:$(/bin/cat ${tmp_file})| \
/usr/bin/tee $HOME/logs/$(/usr/bin/basename $0)-$remote_machine.log
;;
$DIALOG_CANCEL)
echo "Cancel pressed.";;
$DIALOG_HELP)
echo "Help pressed.";;
$DIALOG_EXTRA)
echo "Extra button pressed.";;
$DIALOG_ITEM_HELP)
echo "Item-help button pressed.";;
$DIALOG_ESC)
if test -s $tmp_file ; then
/bin/rm -f $tmp_file
else
echo "ESC pressed."
fi
;;
esac
```
![][12]
你从代码中可以看出,`dialog` 预期的是位置参数,并且允许你在变量中捕获用户的回应。这实际上使其成为编写文本用户界面的 Bash 扩展。
上述的小例子只涵盖了一些部件的使用,其实还有更多的文档在 [官方 dialog 网站][8]上。
### Dialog 和 JQ 是最好的选择吗?
实现这个功能可以有很多方法(如 [Textual][13]Gnome 的 [Zenity][14]Python 的 [TKinker][15]等)。我只是想向你展示一种高效的方式——仅用 100 行代码就完成了这项任务。
_确实,它并不完美_。更具体地讲,它与 Bash 的深度集成使得代码有些冗长,但仍然保持了易于调试和维护的特性。相比于反复复制粘贴长长的命令,这无疑是一个更好的选择。
最后,如果你喜欢在 Bash 中使用 `jq` 处理 JSON那么你会对这个 [jq 配方的精彩集合][16] 感兴趣的。
*题图MJ/a9b7f60a-02ec-4d3f-88ae-2321f49ac0e1*
--------------------------------------------------------------------------------
via: https://fedoramagazine.org/writing-useful-terminal-tui-on-linux-with-dialog-and-jq/
作者:[Jose Nunez][a]
选题:[lujun9972][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://fedoramagazine.org/author/josevnz/
[b]: https://github.com/lujun9972
[1]: https://fedoramagazine.org/wp-content/uploads/2023/11/TUI_w_dialog_n_jq-816x345.jpg
[2]: https://unsplash.com/@riku?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash
[3]: https://unsplash.com/photos/black-flat-screen-computer-monitor-wvJuYrM5iuw?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash
[4]: https://en.wikipedia.org/wiki/Virtual_private_network
[5]: https://stedolan.github.io/jq/
[6]: https://jqlang.github.io/jq/manual/
[7]: https://jqplay.org/
[8]: https://invisible-island.net/dialog/
[9]: https://fedoramagazine.org/wp-content/uploads/2023/11/dialog-example1.png
[10]: https://invisible-island.net/dialog/#documentation
[11]: https://raw.githubusercontent.com/josevnz/scripts/main/kodegeek_rdp.sh
[12]: https://fedoramagazine.org/wp-content/uploads/2023/11/dialog-example2.png
[13]: https://textual.textualize.io/
[14]: https://gitlab.gnome.org/GNOME/zenity/commits/master?ofs=1900
[15]: https://docs.python.org/3/library/tkinter.html
[16]: https://nntrn.github.io/jq-recipes/
[0]: https://img.linux.net.cn/data/attachment/album/202311/18/071418mc44bs42keebfe1c.png

View File

@@ -0,0 +1,157 @@
[#]: subject: "Enabling Bluetooth on Arch Linux"
[#]: via: "https://itsfoss.com/bluetooth-arch-linux/"
[#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "geekpi"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16403-1.html"
故障排除:在 Arch Linux 上启用蓝牙
======
![][0]
> Arch Linux 上的蓝牙无法工作?以下是对我有用的方法,以及解决 Arch 上蓝牙问题的其它技巧。
[我很轻松地安装了 Arch Linux][1],这要归功于 archinstall 脚本。
在我开始使用它并探索之后,我尝试使用我的蓝牙耳机,却发现蓝牙无法工作。
我可以看到蓝牙选项,但无法启用它。单击开关会只会切换回禁用状态。
下面是我所做的以及有作用的事情。
### 确保蓝牙服务正在运行
如果该服务未运行,蓝牙将不会打开,你将无法连接到它。
检查蓝牙服务的状态并查看其是否正在运行。
````
systemctl status bluetooth
````
它给了我以下输出:
```
[abhishek@itsfoss ~]$ systemctl status bluetooth
○ bluetooth.service - Bluetooth service
Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; disabled; preset: disabled)
Active: inactive (dead)
Docs: man:bluetoothd(8)
```
如你所见,`bluetooth` 服务处于非活动状态。它没有运行。并且状态被禁用。
这意味着蓝牙守护程序当前未运行,也未设置为每次启动时自动启动。
这让事情变得更容易了。我在第一次尝试中就找出了根本原因。在 Arch Linux 中这种情况并不常见。
使用以下命令启动蓝牙守护进程:
````
sudo systemctl start bluetooth
````
让蓝牙服务在系统启动时自动运行:
````
systemctl enable bluetooth
````
它应该显示以下输出:
```
[abhishek@itsfoss ~]$ systemctl enable bluetooth
Created symlink /etc/systemd/system/dbus-org.bluez.service → /usr/lib/systemd/system/bluetooth.service.
Created symlink /etc/systemd/system/bluetooth.target.wants/bluetooth.service → /usr/lib/systemd/system/bluetooth.service.
```
现在,蓝牙已启用,并且在系统设置中很明显:
![][2]
### 连接蓝牙设备的提示
你可能已经知道应该首先将蓝牙设备置于配对模式。这很关键。
之后,你可以尝试关闭然后再次打开蓝牙按钮,以便它搜索可用的设备。
如果它没有立即显示,你可以单击其他一些系统设置并再次返回蓝牙。过去它对我有用过几次,不要问为什么。
### 其他故障排除提示
以下是修复 Arch Linux 中蓝牙连接问题的更多提示:
#### 确保未被阻止
确保蓝牙未被阻止:
````
rfkill list
````
检查输出:
```
[abhishek@itsfoss ~]$ rfkill list
0: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
1: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
```
如果你发现蓝牙被阻止,请使用以下命令取消阻止:
```
rfkill unblock bluetooth
```
#### Pipewire 与 Pulseaudio
在某些情况下,如果你过去尝试过 Pipewire 和 Pulseaudio它们可能会破坏工作。
如果你使用 Pipewire请确保安装了 pipewire-pulse
```
sudo pacman -Syu pipewire-pulse
```
如果你使用 Pulseaudio`bluez` 和 `pulseaudio-bluetooth` 可以帮助你。
查看 Arch Wiki 页面以获取更多信息。
> **[蓝牙耳机 - Arch 维基][3]**
### 这对你有用吗?
硬件兼容性问题是任何操作系统都会遇到的问题Linux 也不例外。
事情没有单一的解决方案。你的系统可能存在与我的系统不同的问题,此处提到的建议可能适合你,也可能不适用于你。
完善的 Arch 维基提供的建议比我所能提供的要多得多。如果你仍然无法解决蓝牙问题,请执行此操作。
现在看你的了。对你有用吗?如果有,是哪种方法?如果没有,你遇到了什么样的问题,以及到目前为止你尝试过哪些故障排除方法?
*题图MJ/60bd220b-bb4f-4d51-9c41-162c8c4714b3*
--------------------------------------------------------------------------------
via: https://itsfoss.com/bluetooth-arch-linux/
作者:[Abhishek Prakash][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/abhishek/
[b]: https://github.com/lujun9972
[1]: https://www.youtube.com/watch?v=WksxVLrALhg
[2]: https://itsfoss.com/content/images/2023/11/bluetooth-working-arch-linux.png
[3]: https://wiki.archlinux.org/favicon.ico
[0]: https://img.linux.net.cn/data/attachment/album/202311/21/201358dz5gex5xu9689kkx.png

View File

@@ -0,0 +1,184 @@
[#]: subject: "LibreOffice Alternatives for Linux"
[#]: via: "https://itsfoss.com/libreoffice-alternatives-linux/"
[#]: author: "Ankush Das https://itsfoss.com/author/ankush/"
[#]: collector: "lujun9972/lctt-scripts-1693450080"
[#]: translator: "geekpi"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16427-1.html"
适用于 Linux 的 LibreOffice 替代品
======
![][0]
> LibreOffice 当然很棒,但是如果你想找一些其它的替代品,那这里有一些。
LibreOffice 是一个出色的开源文档套件。它预装在许多 Linux 发行版上,应该足以满足大多数用户的需求。
然而,有些人可能不喜欢它的用户界面和功能集。某些用户可能想尝试其他选项,看看它们是否提供更好的微软 Office 文档兼容性。
无论出于何种原因,好消息是我们有一些不错的 LibreOffice 替代品可供你探索。
> ✋ **非自由和开源软件警告!** 这里提到的一些应用并非开源。它们被列入是因为能在 Linux 下使用。
### 1、ONLYOFFICE
[ONLYOFFICE][1] 是一个令人印象深刻的文档套件,具有各种版本,可满足各种用户的需求。
与其他文档程序相比,它因提供与微软 Office 文档更好的兼容性而广受欢迎。功能集可能不如 LibreOffice 那么大,但就用户体验和兼容性而言,它可能是更好的选择。
你可以在 Linux 和其他平台上免费使用其 [桌面编辑器][2]。你还可以选择自行托管社区版本并将其用作在线编辑器。但是,它确实对同时连接/用户有限制。
考虑到你可以在 GitHub 上找到 [源代码][3],它即使不完全是供个人使用的自由和开放源码软件,也是一个**可获得源代码**的解决方案。
亮点:
* 现代用户体验
* 更好的微软 Office 兼容性
* 在线编辑器(自托管或企业选项)
* 跨平台
### 2、Apache OpenOffice
![][4]
LibreOffice 分支自 [Apache OpenOffice][5]。
当然OpenOffice 的功能不如 LibreOffice 丰富。然而,对于寻求较旧/熟悉的用户界面以及满足基本要求的更稳定体验的用户来说OpenOffice 是一个不错的选择。
OpenOffice 不像 LibreOffice 那样得到积极维护,但你可以期待每年/每两年发布一次。不要忘记,你也可以轻松地 [安装 Apache OpenOffice][6]。
我们有详细的 [LibreOffice 和 OpenOffice 文档套件之间的比较][7] 来帮助你做出决定。
> **[LibreOffice 和 OpenOffice 的相似与不同之处][7]**
亮点:
* 老式用户界面
* 对于某些用户来说它更稳定
* 跨平台
### 3、CryptPad
![][9]
[CryptPad][10] 是一款仅在线使用的开源协作套件,可作为 LibreOffice 的替代品满足基本需求。他们还在改进支持文档/演示文稿的功能,就像谷歌文档一样。
你可以使用 CryptPad 添加富文本文档、电子表格等。然而,在撰写本文时,他们正在努力支持像谷歌文档一样的更成熟的文档。当你阅读本文或尝试一下时,它可能已经有所改进。
如果你需要一个功能不太花哨的端到端文档套件CryptPad 可能是一个不错的选择。
你可以使用官方托管实例、公共实例或自行托管。
亮点:
* 端到端加密
* 实时协作
* 安全云存储(可选)
* 自托管或已托管
### 4、SoftMaker FreeOffice非自由和开源软件
![][11]
SoftMaker 的 [FreeOffice][12] 是一个适用于 Linux 和其他平台的专有文档套件。
它以其类似微软 Office 的用户界面以及与微软 Office 文件的良好兼容性而闻名。
与 OpenOffice 不同SoftMaker 的免费 Office 版本的更新更多,与 LibreOffice 相比是一个不错的选择。如果你喜欢其免费产品并需要专业支持并解锁更多功能,你可以选择其高级版本。
请参阅我们的深入 [LibreOffice 和 FreeOffice 之间的比较][13] 了解更多:
亮点:
* 类似微软 Office 的用户界面
* 良好的微软 Office 文件格式兼容性
* 可选高级版具有更多功能和专业支持
* 跨平台
### 5、WPS Office非自由/开源软件)
![][14]
WPS Office 对 Windows 用户而言很流行,它也适用于 Linux。
它是一个专有程序,提供适用于安卓和 iOS 的时尚移动应用。有些人可能不喜欢它,因为它的开发者是一家中国软件公司,但它提供了漂亮的用户界面和良好的微软 Office 兼容性。
你可以将其视为文档套件中的 “**Deepin**”,它是 [最美丽的 Linux 发行版][15] 之一。它提供了良好的用户体验并且免费使用。
作为一个免费选项,其跨平台的便捷可用性使其成为比 LibreOffice 更有趣的选择。
要解锁 PDF 编辑功能、云存储、专业支持并摆脱广告,你可以选择其 PRO 版本。
亮点:
* 漂亮的用户界面
* 移动应用支持
* 良好的微软 Office 文件格式兼容性
* 可选专业版,具有更多功能
* 跨平台
### 6、Calligra
![][16]
[Calligra][17] 是一个 KDE 办公套件。它可能不如 LibreOffice 功能丰富,但它是一个更简单的替代方案。
无论你是否使用基于 KDE 的发行版,它都应该可以在你的 Linux 发行版上正常运行。我在我的 Fedora 系统上对其进行了测试,如上面的截图所示。
你可以在大多数 Linux 发行版的默认仓库中找到所有程序(例如 Calligra Words 和 Calligra Sheets。它还包括用于项目管理的 Calligra Plan 和用于演示的 Stage 等程序。
虽然它可能不会经常发布重大版本,但根据其 [GitLab 页面][18],它由一些贡献者积极维护。如果你喜欢这个项目,你可以以各种方式帮助他们。
亮点:
* 使用简单
* 与平常不同的东西
* 支持微软 Office 文件格式
* 仅限 Linux
### 总结
尽管没有一个选项可以完全取代 LibreOffice但它们相比 LibreOffice 带来了各种好处。
有些可以为你提供更好或更简单的用户体验,而另一些则可以更好地处理微软 Office 文件格式。
你可以根据自己的喜好来选择,看看是否符合你的需求。
💬 你会选择什么作为 LibreOffice 的替代品? 在评论中让我知道你的想法。
*题图MJ/796761b9-96a1-4cb4-859e-a9f12e305771*
--------------------------------------------------------------------------------
via: https://itsfoss.com/libreoffice-alternatives-linux/
作者:[Ankush Das][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/ankush/
[b]: https://github.com/lujun9972
[1]: https://www.onlyoffice.com/
[2]: https://www.onlyoffice.com/en/desktop.aspx
[3]: https://github.com/ONLYOFFICE
[4]: https://itsfoss.com/content/images/2023/11/openoffice-writer.png
[5]: https://www.openoffice.org/
[6]: https://itsfoss.com/install-openoffice-ubuntu-linux/
[7]: https://linux.cn/article-16079-1.html
[8]: https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png
[9]: https://itsfoss.com/content/images/2023/11/cryptpad-rich-text.png
[10]: https://cryptpad.org/
[11]: https://itsfoss.com/content/images/2023/11/freeoffice-textmaker.png
[12]: https://www.freeoffice.com/en/
[13]: https://itsfoss.com/libreoffice-vs-freeoffice/
[14]: https://itsfoss.com/content/images/2023/11/wps-office-linux.png
[15]: https://itsfoss.com/beautiful-linux-distributions/
[16]: https://itsfoss.com/content/images/2023/11/calligra-words.png
[17]: https://calligra.org/
[18]: https://invent.kde.org/office/calligra
[0]: https://img.linux.net.cn/data/attachment/album/202311/30/080855bo0k9rdtpkssi0px.png

View File

@@ -0,0 +1,111 @@
[#]: subject: "HandBrake 1.7 Release: A Meaningful Update for This Year"
[#]: via: "https://news.itsfoss.com/handbrake-1-7-release/"
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
[#]: collector: "lujun9972/lctt-scripts-1700446145"
[#]: translator: "geekpi"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16425-1.html"
HandBrake 1.7 发布
======
![][0]
> 这款视频转换工具带来了急需的改进。
流行的开源视频转换器 HandBrake 发布了新的重要版本,并进行了一些重要升级。该版本是在 [HandBrake 1.6][1] 发布近一年后推布的。
作为 [Linux 上最好的开源视频转换器][2] 之一HandBrake 是许多人满足其视频转换/转码需求的首选选项。
让我们看看这个版本提供了什么。
### 🆕 HandBrake 1.7:有什么新功能?
![][3]
HandBrake 1.7 具有大量全面更新。
一些**关键亮点**包括:
* Linux 特定的改进
* 新的 AV1 编码器
* 提高性能
#### Linux 特定的改进
视频摘要中添加了对**位深度和 HDR 信息**的支持,还有一个**新选项可以在切换到电池电源或省电模式时暂停视频编码**。
然后添加了**对本机文件选择器的支持**、**对视频扫描的拖放支持**、**设置自动文件命名选项**、**删除过时的更新检查器** 等。
#### 新的 AV1 编码器
这是**此版本的主要亮点**HandBrake 现在支持两种新的 AV1 编码器,**AMD VCN AV1** 和 **NVIDIA NVENC AV1**
由于 SVT-AV1 的多通道 ABR 模式的实施,即使**现有的 AV1 编码支持也得到了提升**。
#### 提高性能
**HandBrake 的性能在 **ARM64/AArch64****Apple Silicon** 等 CPU 架构上得到了重大提升**。
现在,用户可以利用**新的 SVT-AV1 汇编优化**、**更快的 HEVC 解码**以及最新的 [FFmpeg][4] 库和**快 30% 的 bwdif 过滤**。
#### 🛠️ 其他更改和改进
至于其他改进,以下是一些值得注意的改进:
* 更新了许多第三方库。
* 更新了 Creator 和 Social 的预设。
* 添加了新的 [Apple VideoToolbox][5] 硬件预设。
* 杜比视界和 HDR10+ 的动态范围元数据传递得到了改进。
自从我上次使用 HandBrake 以来已经有一段时间了。但是,我很高兴看到它仍然得到应有的照顾。
有关此版本的完整技术详细信息,你可以阅读 [发行说明][6]。
### 📥 下载 HandBrake 1.7
HandBrake 适用于 **Linux**、**Windows** 和 **macOS**。你可以前往[官方网站][7]获取你选择的包。
> **[HandBrake][7]**
如果你不确定如何安装; 那么你可以通过我们的[安装指南][8]了解更多信息。
### 如何升级?
HandBrake 通常会让你知道 Windows 和 macOS 上是否有新更新。开发人员建议你**备份在执行升级之前设置的所有自定义预设和应用首选项**。
**对于 Windows 用户**,开发人员建议安装 Microsoft .NET Desktop Runtime [6.0.x 版本][10],以便能够正确运行此程序。
但是,对于 **Linux 用户**,他们必须通过 Flathub 商店进行更新,或者使用官方网站或 [GitHub 仓库][11]上提供的更新后的 Flatpak 包重新安装。
> 📋 在撰写本文时,[Flathub store][12] 版本尚未发布 1.7 版本。你可以期待它很快出现。
💬 你会尝试这个新版本的 HandBrake 吗?
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/handbrake-1-7-release/
作者:[Sourav Rudra][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/sourav/
[b]: https://github.com/lujun9972
[1]: https://github.com/HandBrake/HandBrake/releases/tag/1.6.0
[2]: https://itsfoss.com/open-source-video-converters/
[3]: https://news.itsfoss.com/content/images/2023/11/HandBrake_1.7.png
[4]: https://ffmpeg.org/
[5]: https://developer.apple.com/documentation/videotoolbox
[6]: https://github.com/HandBrake/HandBrake/releases/tag/1.7.0
[7]: https://handbrake.fr/downloads.php
[8]: https://itsfoss.com/install-handbrake-ubuntu/
[9]: https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png
[10]: https://dotnet.microsoft.com/en-us/download/dotnet/6.0
[11]: https://github.com/HandBrake/HandBrake/releases
[12]: https://flathub.org/apps/fr.handbrake.ghb
[0]: https://img.linux.net.cn/data/attachment/album/202311/29/084457tjjbvbnev7idzvfi.jpg

View File

@@ -0,0 +1,106 @@
[#]: subject: "What is Super Key in Linux?"
[#]: via: "https://itsfoss.com/super-key/"
[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/"
[#]: collector: "lujun9972/lctt-scripts-1700446145"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16404-1.html"
Linux 黑话解释Linux 中的 Super 键是什么?
======
![][0]
> 在本次 Linux 黑话解释系列的这一篇,我们会一起来探索 Linux 中的 `Super` 键(或称其为 `Meta` 键)。
当你在网上浏览 Linux 教程时,你可能会遇到 “`Super` 键” 这个术语,对于 Linux 的初学者来说,这可能会引起混淆。
概括地说,如果你的电脑预装了 Windows那么带有 Windows 标志的 `Windows` 键就是 `Super` 键。
如果你使用的是苹果电脑,那么带有 `⌘` 符号的 `command` 键就是你的 `Super` 键。
![下面这个就是你的 Super 键(或者 Meta 键)][1]
很简单吧?
但是,为什么要将其命名为 `Super` 键呢?毫无疑问,背后一定有一些有趣的故事。
那么,让我们一起按下 `Super` 键,发掘更深层次的故事吧。
### Super 键背后的想法
它首次出现在 “space-cadet” 键盘中,这款键盘是在 1978 年为 [Lisp 机器][2] 设计的,其主要目的是用来模拟 `Meta` 键。LCTT 译注:这款键盘的独特之处在于它设有七个修饰键,包括 `Shift``Control``Meta``Super``Hyper`,用户可以通过组合这些修饰键与其他键来输入更多的字符和命令,它对现代计算机键盘的发展产生了重要影响。)
`Meta` 键在 Emacs 编辑器中是非常重要的一个部分,但在当时的现代键盘中却未能配备实体的 `Meta` 键,因而人们常常通过不同的按键绑定来模仿其功能。
`Super` 键的引入,解决了这个问题,由此我们有了一个真实的 `Super` 键。
快进到 1994 年,当时 `Windows` 键首次在 [微软自然键盘][3] 上出现,它被用来迅速打开“开始”菜单。从 1996 年开始,将 `Meta` 键映射到 `Windows` 键成为了普遍的做法。
### Super 键的一般使用情况
当你在 Ubuntu 桌面上按下 `Super` 键时,它会显示活动概览,让你全面了解每个窗口正在进行的活动:
![在 Ubuntu 中按下 Super 键获得活动概览][4]
但你要知道,除了预览正在进行的活动,你其实还可以做更多。
比如,你可以同时按下 `Super` 键和 `Tab` 键,调出应用切换器,从而在正在运行的应用之间切换。
![][5]
下面列举了一些可以利用 `Super` 键的快捷键(在 Ubuntu 23.10 内部测试通过):
> 📋 如果你在使用的是基于 Ubuntu 的发行版,其中的某些快捷键可能并不会按照预期那样工作,因为发行版维护者可能已经将该快捷键指定为另一个任务。
快捷键 | 描述
---|---
`Super` | 打开活动概览
`Super` + `Tab` | 切换开放应用
`Super` + `D` | 显示桌面(最小化所有窗口)
`Super` + `A` | 打开应用菜单
`Super` + `S` | 显示快速设定
`Super` + `←` | 将活动窗口移至屏幕的左半部分
`Super` + `→` | 将活动窗口移至屏幕的右半部分
`Super` + `↑` | 最大化活动窗口
`Super` + `↓` | 最小化活动窗口
`Super` + `L` | 锁定屏幕
这些操作实在太方便了,对吧?
### 通过快捷键提高生产效率
对于新接触 Ubuntu 的你,下列的一些有帮助的快捷键值得一试:
> **[Ubuntu 用户应该知道的 13 个快捷键][6]**
如果你刚开始使用终端,我会推荐你学习 [Linux 终端的基本快捷键][7]
> **[专业用户喜欢使用的 21 个 Linux 终端快捷键][7]**
我希望这篇文章能给你带来宝贵的信息,使你对 Super 键有更深入的了解 ;)
*题图MJ/9b9a1146-0e76-459a-880d-b1a1a4fa5f1e*
--------------------------------------------------------------------------------
via: https://itsfoss.com/super-key/
作者:[Sagar Sharma][a]
选题:[lujun9972][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/sagar/
[b]: https://github.com/lujun9972
[1]: https://itsfoss.com/content/images/2023/11/keyboard-linux.jpg
[2]: https://en.wikipedia.org/wiki/Lisp_machine
[3]: https://en.wikipedia.org/wiki/Microsoft_ergonomic_keyboards#Natural_Keyboard
[4]: https://itsfoss.com/content/images/2023/11/Get-activities-overview-in-Ubuntu-by-pressing-the-super-key.png
[5]: https://itsfoss.com/content/images/2023/02/App-Switch.png
[6]: https://itsfoss.com/ubuntu-shortcuts/
[7]: https://itsfoss.com/linux-terminal-shortcuts/
[0]: https://img.linux.net.cn/data/attachment/album/202311/21/211946e9resh69paphei8i.png

View File

@@ -0,0 +1,117 @@
[#]: subject: "EndeavourOS Galileo: Xfce Out, KDE In"
[#]: via: "https://news.itsfoss.com/endeavouros-galileo/"
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
[#]: collector: "lujun9972/lctt-scripts-1700446145"
[#]: translator: "GlassFoxowo-Dev"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16408-1.html"
EndeavourOS Galileo: 离开 Xfce拥抱 KDE
======
![][0]
> 基于 Arch Linux 的发行版 EndeavourOS 在其最新版本中进行了一些有趣的变更。
[基于 Arch Linux 的最佳用户友好型发行版][1] 之一EndeavourOS 现已发布版本更新。
该版本代号为 “<ruby>伽利略<rt>Galileo</rt></ruby>”,沿用了我们在过去的版本中见过的类似命名方案,比如 [EndeavourOS “<ruby>卡西尼<rt>Cassini</rt></ruby>][2]。LCTT 译注:伽利略、卡西尼都是著名天文学家,这些名字和这个操作系统的名称“<ruby>奋进<rt>Endeavour</rt></ruby>” 也都是航天器的名称。)
让我们来看看 “Galileo” 有什么新特性。
### 🆕 EndeavourOS Galileo: 有些什么新东西?
![][3]
尽管这个版本花费了一些时间才发布,但这是**一次重大升级,带来了一些重要的变化**。其中最明显的变化是转向了 KDE Plasma以及放弃了 Xfce稍后我们将详细讨论这一点。
**开发者决定使 EndeavourOS 比以前更为轻巧**,削减了一些预设设置,但仍然让你可以轻松地入门并使用 Arch Linux。
这个版本的一些**主要亮点**包括:
* 改进了 “欢迎” 应用
* 调整了 Calamares 安装程序
* KDE Plasma 取代 Xfce
#### 改进了 “欢迎” 应用
![][4]
在安装过程中显示的 “欢迎” 应用已经改进,现在它在左下角具有专门的**语言选择选项**。
图标也已更新,安装程序现在默认使用 KDE Plasma。
#### Calamares 安装程序调整
![][5]
为了配合 KDE Plasma 成为默认选择EndeavourOS Galileo 上的 [Calamares][6] 安装程序**在安装过程中只允许安装一个桌面环境/窗口管理器**。
这是为了减轻安装后出现的冲突软件包问题。**安装完成后,你仍然可以安装其他桌面环境/窗口管理器**。
这还不是全部,**开发者还从安装程序中移除了社区版本**。因此,像 **Sway**、**Qtile**、**BSPWM**、**Openbox** 和 **Worm** 这样的变体无法通过 Calamares 安装了。
之所以不得不放弃这些变体,是因为大多数最初的开发者已经离开了这个项目,也没有其他人接手。幸运的是,**你仍然可以从它们的 [GitHub 页面][7] 手动安装这些社区版本**。
#### KDE Plasma 取代 Xfce
![][8]
未来,**KDE Plasma 将成为默认的桌面环境**,运行在立付环境和离线安装上,取代了 Xfce。
不用担心,**在安装 EndeavourOS 的过程中仍然可以选择安装 Xfce**,前面显示的截图就是证明。
正如开发者所述,这一举措背后的原因是:
> 为了使团队更容易进行开发和维护,我们转而使用 KDE Plasma 而不是 Xfce因为对于我们的开发人员来说使用 Calamares 安装程序能带来更原生的体验。
#### 🛠️ 其他变化和改进
以下是一些值得注意的其他亮点:
* 在新安装上启用了 **本地主机名解析**
* 当选择 systemd-boot 时,实施更强大的 **LUKS2 加密**
* 为了避免错误,对 **EFI 分区的权限** 进行了更严格的限制。
* Calamares 上的 **软件包选择屏幕** 已经重新调整,更加直观。
你可以通过官方的 [公告博客][9] 了解更多关于 “Galileo” 版本的信息。
### 📥 获取 EndeavourOS Galileo
你可以从 [官方网站][10] 获取 EndeavourOS Galileo他们还**在全球各地添加了新的下载镜像**,以提高访问速度。
> **[EndeavourOS Galileo][10]**
### 对现有用户有何影响?
没有。这个版本带来的变化仅影响新安装、安装程序和 ISO 上的立付环境。
**升级到 Galileo 不是强制性的**,定期更新系统的现有用户应该不会出现问题。
💬 你对这个版本有什么看法?放弃 Xfce 是一个好主意吗?
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/endeavouros-galileo/
作者:[Sourav Rudra][a]
选题:[lujun9972][b]
译者:[GlassFoxowo-Dev](https://github.com/GlassFoxowo-Dev)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/sourav/
[b]: https://github.com/lujun9972
[1]: https://itsfoss.com/arch-based-linux-distros/
[2]: https://news.itsfoss.com/endeavouros-cassini/
[3]: https://news.itsfoss.com/content/images/2023/11/EndeavourOS_Galileo_1.jpg
[4]: https://news.itsfoss.com/content/images/2023/11/EndeavourOS_Galileo_2.png
[5]: https://news.itsfoss.com/content/images/2023/11/EndeavourOS_Galileo_3.png
[6]: https://calamares.io/
[7]: https://github.com/EndeavourOS-Community-Editions
[8]: https://news.itsfoss.com/content/images/2023/11/EndeavourOS_Galileo_4.jpg
[9]: https://endeavouros.com/news/slimmer-options-but-lean-and-in-a-new-live-environment-galileo-has-arrived/
[10]: https://endeavouros.com/
[0]: https://img.linux.net.cn/data/attachment/album/202311/24/151118d9hh9ltji7990p9j.jpg

View File

@@ -0,0 +1,227 @@
[#]: subject: "8 Open Source Password Managers to Enhance Your Privacy Game"
[#]: via: "https://itsfoss.com/open-source-password-managers/"
[#]: author: "Ankush Das https://itsfoss.com/author/ankush/"
[#]: collector: "lujun9972/lctt-scripts-1700446145"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16412-1.html"
8 个提升你的隐私防护的开源密码管理器
======
![][0]
> 使用一些顶级开源密码管理器,确保你的登录凭证安全无虞。
密码管理器是一项非常有用的实用程序。在你想寻找一个合适的密码管理器时,有着丰富的选择。
你的智能手机制造商、浏览器、抗病毒软件都会提供密码管理器,并且还有其他多种第三方的选项。根据你的实际需求和便利性,你可以选择使用任何一款密码管理器。
但是,如果你偏爱开源的密码管理器,想要尝试使用开源的替代私有的?你有哪些选择呢?
这里,让我来为你揭示所有重要的信息。
### 为何选择开源的密码管理器?
密码管理器是一种关键的工具,它能存储各种敏感的数据,包括:
* 账号凭据
* 安全笔记
* 恢复代码
* 2FA 令牌(某些情况下)
因此,使用一款能提供顶级隐私保护和安全性的密码管理器极为重要。
而选择开源选项,你将得到更好的透明度,并将有更多的人共同努力确保密码管理器的安全。
当然,如果你希望参与贡献、审查和改进密码管理器,你需要具备一定的技术能力。但是,即使你没有时间参与进来,用户和开发者社区依然会努力核实产品所做出的承诺。
这就是使用开源密码管理器所获得的优势。
对于私有的解决方案,你需要完全信任产品公司,而且你无法自行验证他们的声明。
考虑到选择安全工具的利弊,我在此为你推荐一些最受用户欢迎的密码管理器。
### 1、KeePass
![][1]
[KeePass][2] 是一款为 Windows 用户提供的卓越的开源密码管理器。你还可以试试 [利用 Wine 在 Linux 环境中运行这款 Windows 应用][3]。
这是一个纯本地的密码管理器,允许你将所有密码保存在一个数据库中。数据库经过加密,并设有主密钥保护(要牢记密钥,避免遗失)。
你可以根据需要,自主决定是否将数据库文件同步到任何选定的云存储中。但一般来说,将数据保存在自己的系统上,比存储在云端更为安全。
你既可以选择安装 KeePass也可以通过 USB 设备运行它的便携版。此外,它还具备众多实用的功能,如附加附件、排序和导入导出等等。
亮点:
* 仅限本地使用
* 可用的便携版
* 支持导入 / 导出功能
* 可通过分组 / 排序管理密码
* 插件可用于增强功能集
### 2、Bitwarden
![][4]
[Bitwarden][5] 是一款强大、跨平台的密码管理器,涵盖了桌面应用程序和浏览器扩展。它与 KeePass 不同的之处在于Bitwarden 依赖云端进行密码的加密和存储,大大提高了在多终端之间同步数据的便捷性。
Bitwarden 集成了你在密码管理器中可能需要的所有核心功能,而且对个人用户来说,所有的这些功能都有一个可承受的订阅价格。
你将得到一个使用起来更舒适的用户界面,并有众多功能供你使用。
亮点:
* 浏览器扩展和桌面应用
* 移动应用
* 提供自托管或基于云端的选项
* 支持命令行界面访问
* 对高级用户开放的紧急访问权限
* 价格适中
* 支持导入 / 导出功能
* 提供 Bitwarden Send 功能,安全分享文本 / 笔记
### 3、Proton Pass
![][6]
[Proton Pass][7] 是以隐私保护为核心的 Proton 公司提供的优秀产品之一。
如果你已经在使用 Proton Mail 和 Proton VPN并且希望从同一家值得信赖的公司使用多种服务那么 Proton Pass 将是一个很好的选择。
你可以安装浏览器插件来开始使用 Proton Pass。在本文撰写时它并未提供任何桌面应用程序。
除了所有基本功能外,你还可以在密码管理器内部使用电子邮件别名功能。随着 Proton Pass 的多样性,我们也提供了一个深入的 [Proton Pass 和 Bitwarden 的比较][8]。
亮点:
* 浏览器插件
* 基于云
* 移动应用
* 作为 Proton 工具系列的一部分,使用起来非常方便
* 邮件别名
* 支持导入 / 导出
### 4、KeePassXC
![][10]
如果你对 KeePass 的功能感兴趣,并且需要原生的 Linux 支持,那么 [KeePassXC][11] 会是个不错的选择。
你将获得跨平台支持和浏览器扩展支持,无需依赖于插件。
总的来说KeePassXC 可以视为 KeePass 的现代化替代版本,对用户体验进行了一些改善。
亮点:
* 仅支持离线
* KeePass 的现代替代
* 原生支持 Linux 和 macOS
* 支持导入 / 导出
### 5、Passbolt
[Passbolt][12] 是一个为企业用户(或团队)设计的开源密码管理器。
不同于其他选择Passbolt 不适合个人使用。你可以选择自我托管,或选择云托管版本,并根据你的实际需求选择适当的订阅方案。
尽管在社区版中Passbolt 提供了所有基础的功能,但通过订阅计划你可以解锁更多的功能。
亮点:
* 专为企业和团队定制
* 自托管或基于云
* 支持命令行界面访问
### 6、Buttercup
![][13]
如果你在寻找一款优先考虑本地使用的密码管理器,那么[Buttercup][14] 就是一个针对 macOS、Linux 和 Windows 的理想选择。
如果你不需要云同步功能,但希望寻找一款与 KeePass 用户体验不同的密码管理器,那么 Buttercup 将是一个好的替代品。
这是一个带有简洁用户界面的跨平台开源密码管理器,同时提供了移动应用程序。
亮点:
* 仅支持离线使用
* 易用性强
* 兼容多平台
* 界面简洁现代
* 提供扩展支持
### 7、KWalletManager
![][15]
[KWalletManager][16] 是一款 [专为 Linux 设计的密码管理器][17],可对所有的用户凭证进行加密存储。
虽然它能在任何桌面环境下工作,但如果你使用的是 KDE 驱动的 Linux 系统,它能更好地与其他应用集成。
如果你需要一个能与应用程序集成、实现从 Linux 系统保存或自动填充密码的工具KWalletManager 是个不错的选择。在某些情况下,它可能已经预装在 Linux 发行版中。如果你不打算使用 KWallet应[禁用 KDE 钱包][18]。
亮点:
* 仅支持离线使用
* 简单易用
* 专为 Linux 定制
### 8、密码和密钥即 GNOME 的 Seahorse
![][19]
Seahorse 是 GNOME 发展出的一个实用工具,能存储密码并管理加密密钥。与 KWallet 类似,它是一款专为 Linux 设计的应用程序,与 Ubuntu 和其他几种发行版一起预装。
它不仅仅是一个传统的密码管理器,它还提供了许多其他功能,并且所有这一切都封装在了一个简洁的用户界面中。
亮点:
* 仅支持离线使用
* 专为 Linux 定制
* 可管理加密密钥和密码
### 总结
任何一款密码管理器都包含了全部的基础功能。因此,你需要根据具体的情况来做选择,比如是否支持自我托管、是否有紧急的共享访问,以及根据价格计划来决定所需的功能集等。
如果你需要一款以浏览器中心化的密码管理器Proton Pass 就是不错的选择。而 KeePass 以及它的现代化版本 KeePassXC 是完美的离线工具。Bitwarden 则是全能解决方案。最后Buttercup 和 Passbolt 对于那些希望体验最小化或需要团队协作功能的用户来说,也是独特的选择。
*题图MJ/8d97ac3c-1ed9-4dae-a176-03d99e6e8391*
--------------------------------------------------------------------------------
via: https://itsfoss.com/open-source-password-managers/
作者:[Ankush Das][a]
选题:[lujun9972][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [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/content/images/2023/11/keepass-windows.png
[2]: https://keepass.info/
[3]: https://itsfoss.com/use-windows-applications-linux/
[4]: https://itsfoss.com/content/images/2023/11/bitwarden-extension-ui.jpg
[5]: https://bitwarden.com/
[6]: https://itsfoss.com/content/images/2023/11/proton-pass-ui-1.jpg
[7]: https://proton.me/pass
[8]: https://itsfoss.com/bitwarden-vs-proton-pass/
[9]: https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png
[10]: https://itsfoss.com/content/images/2023/11/keepassxc.png
[11]: https://keepassxc.org/
[12]: https://www.passbolt.com/
[13]: https://itsfoss.com/content/images/2023/11/buttercup.png
[14]: https://buttercup.pw/
[15]: https://itsfoss.com/content/images/2023/11/kde-wallet.jpg
[16]: https://apps.kde.org/kwalletmanager5/
[17]: https://itsfoss.com/password-managers-linux/
[18]: https://itsfoss.com/disable-kde-wallet/
[19]: https://itsfoss.com/content/images/2023/11/passwords-secrets.png
[0]: https://img.linux.net.cn/data/attachment/album/202311/24/225319u3zy737zozu3col4.png

View File

@@ -0,0 +1,177 @@
[#]: subject: "Wave: A Modern New Linux Terminal that You'll Love if You Hate Command Line"
[#]: via: "https://news.itsfoss.com/wave-terminal/"
[#]: author: "Abhishek https://news.itsfoss.com/author/root/"
[#]: collector: "lujun9972/lctt-scripts-1700446145"
[#]: translator: "ChatGPT"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-16409-1.html"
Wave即使你讨厌命令行也会喜欢的现代新 Linux 终端
======
![][0]
> 这是 Linux 终端的 VS Code有可能在年轻一代编程者和 Linux 用户中流行起来。
对于新的终端仿真器的想法,我并不总是怀着兴奋的心情。
这里有 [数不清的用于 Linux 的终端软件][1]。从你的 Linux 发行版中自带的默认终端,到古老的经典版——“<ruby>终结者<rt>Terminator</rt></ruby>”,或更 “现代化” 的基于 Rust 且支持硬件加速的那种,如 [Rio][2]。
在这儿,可选择的软件绝对不匮乏。对我来说,为什么我需要关注另一个新的终端软件呢?
然而,当我发现这款新的终端时,我觉得,它有着引人瞩目的潜力。
![][3]
让我来解释下为何我会这么说。对于一名经验丰富的 Linux 用户,终端只不过是执行工作的一种工具。真正的能量来源于命令以及如何运用它们。在这里,终端仿真器吸引人的一点是支持多窗口,这也可以通过熟练使用 CLI 工具,比如 `screen``tmux` 来实现。
然而,对于一部分 Linux 用户,对他们来说,终端就是一个令人畏惧的地方。他们只会在绝对必要时以及再无他法的情况下才会使用它。就好像一个五岁的小孩夜里去洗手间。
然而,对于后者类型的 Linux 用户来说,这个新终端应该会是一个他们觉得舒适的工具。
看完它的特性后,你就会明白原因。
### Wave为那些不习惯使用命令行的人设计的终端
呃... 这似乎就是这些开发者的初衷。
[Wave 终端][4] 主要是为了那些需要不时使用终端部署他们的项目或者调试应用的应用开发者们所打造。
#### 现代化的代码编辑器界面
![][5]
没错,这是一个终端,而不是代码编辑器。其界面设计类似于 VS Code你可以把终端会话分组到工作区中。如果你的项目需要运行开发服务器、测试服务器和生产服务器你可以把它们分组到一个工作区。
#### 不用学任何键盘快捷键就能编辑文件
你可以直接编辑本地系统或远程机器上的文件。这里没有学习的难度。像常规的文本编辑器一样直接使用它即可。
![][6]
#### 可以查看 MarkdownJSON 或图片
你可以渲染 Markdown 的预览,美观地显示 JSON 文件或以表格形式显示 CSV 文件数据。你还可以查看图片。
![][7]
#### 保持 SSH 连接持久化并保有通用历史
另一个赞赏的功能就是 Wave 可以保持你的 SSH 连接持久化。不用担心因为闲置一个小时而从远程服务器断开连接。即使远程系统重启了,它也会自动为你重新连接。
此外你还可以得到合并的历史搜索的功能。不记得在哪个终端会话中运行了哪条命令没关系。Wave 在这方面已经帮你考虑好了。
> 🤩 保存并保持 SSH 连接持久化,把它们分组到工作区,并且在图形界面下编辑文件,这些都是一个开发者成为 Wave 终端粉丝的充足理由。
### 我使用 Wave 终端的经历
在使用它几个小时后,以下是我体验。
当我首次启动它时,我看到了一个弹出窗口。它默认开启了遥测功能,这是一个典型的 VS Code 式的功能。好吧,我把它禁用了。
![][8]
下一个问题是服务条款。你必须接受它,但这个界面实际上没有提供阅读条款的途径。然而我可以在 [他们的网站][9] 上看到它。它是从 [Basecamp 的开源政策][10] 中引用过来的。
我不明白这个条款的必要性,因为这个软件在 Apache 2.0 下是开源许可的。这只会让人困惑。
无论如何,这就是第一次运行时的界面。如你所见,界面就像一个现代化的代码编辑器,它内含一个侧边栏可以让你将终端标签分组到工作区中。你可以为每个标签分配名称、图标和颜色。这在你需要连接到多个远程服务器时大有帮助。
![][11]
在这方面,你还可以像经典的 Putty 那样保存你的 SSH 连接。
![][12]
这样的话,你可以预设某个标签在启动时就开始特定的 SSH 连接。
对我来说最大的问题(如果这可以被称为“问题”)是输入字段。这只是底部的一个小输入框。你在这输入命令,它显示输出信息,整个输入命令及其输出都被组成一个框,然后移到上方。
![][13]
我更习惯于经典的终端输入方式,从上开始输入,然后一行行向下移动(然后滚动)。而在这里,却恰恰相反。
看,这是有意为之的。每条命令及其输出都是一个独立的框,一个独立的元素。你可以复制它、最小化它或从视图中将其存档。
#### 切片面包之后的最好东西
Wave 终端最大的目标就是它让你不会感觉自己在终端里。对于在终端中编辑文件的初学者来说,这就是他们的阿喀琉斯之踵。即使是在终端中使用基础编辑器(比如 Nano那也要有一段学习曲线。
但是 Wave 不同。它内置了一个编辑器,你可以用 `codeedit filename` 命令调用,你就能像在图形文本编辑器中那样编辑文件。没错,你可以随意地使用你的鼠标。你还可以从编辑器菜单中选择文件类型。
![][14]
对于在终端中编辑配置文件感到提心吊胆的人来说,这绝对是个天赐福音。
开发者经常需要处理 Markdown 和 JSON 文件。Wave 终端完全有能力渲染这些文件。
![][15]
SSH 的连接是永久的。再也不用厌烦地频繁从远程服务器上断开连接了。Wave 完美地处理了它。
你可以从其 [文档页面][16] 进一步探索它的特性。
### 在 Linux 上安装 Wave 终端
你可以直接从他们的网站上下载 zip 文件。
> **[下载 Wave][18]**
解压它后,你会发现,它有一个命名为 `Wave` 的可执行文件,这个文件可以用来启动应用程序。
![][19]
试试它,如果你喜欢它,那就把整个文件夹移到 `/opt` 目录,为它创建一个新的桌面文件,这样它在系统菜单中就可以被搜索到了。我目前就不详述了。
现在还没有像 deb/rpm 这样针对某些特定发行版的安装文件。目前也暂时没有 Snap 或 Flatpak 的包。这是一个新应用。给它一些时间。
源代码在 GitHub 上可供参考。如果你喜欢,能够给它打一个星标。
> **[Wave Terminal 的 GitHub 仓库][20]**
### 总结
如你所见所觉,这是一个为应用开发者所创造出来的应用程序 —— 那些在编程上花费更多时间,并且需要通过命令行来部署或调试他们的应用的人。
从设计上就看得出,这款产品是为 macOS 用户量身定做的。从界面到键盘快捷键,每一样都带有 macOS 的气息。
但是没关系。只要 Wave 在 Linux 上可用,那对 Linux 用户来说就不重要了。
我只希望它不会转为闭源且成为将来的付费工具。如果真的那样,那的确很扫兴。
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/wave-terminal/
作者:[Abhishek][a]
选题:[lujun9972][b]
译者:[ChatGPT](https://linux.cn/lctt/ChatGPT)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/root/
[b]: https://github.com/lujun9972
[1]: https://itsfoss.com/linux-terminal-emulators/
[2]: https://raphamorim.io/rio/
[3]: https://news.itsfoss.com/content/images/2023/11/wave-terminal.webp
[4]: https://www.waveterm.dev/
[5]: https://news.itsfoss.com/content/images/2023/11/wave-terminal-1.webp
[6]: https://news.itsfoss.com/content/images/2023/11/wave-edit-files-inline.webp
[7]: https://news.itsfoss.com/content/images/2023/11/view-images-wave-terminal.webp
[8]: https://news.itsfoss.com/content/images/2023/11/wave-terminal-tos.png
[9]: https://www.waveterm.dev/tos
[10]: https://github.com/basecamp/policies/blob/master/terms/index.md
[11]: https://news.itsfoss.com/content/images/2023/11/wave-terminal-first-screen.png
[12]: https://news.itsfoss.com/content/images/2023/11/wave-terminal-putty-like-ssh-connection-add.png
[13]: https://news.itsfoss.com/content/images/2023/11/wave-terminal-interface.png
[14]: https://news.itsfoss.com/content/images/2023/11/editing-files-wave-terminal.png
[15]: https://news.itsfoss.com/content/images/2023/11/wave-terminal-markdown-view.png
[16]: https://docs.waveterm.dev/quickstart
[17]: https://mintlify.s3-us-west-1.amazonaws.com/commandline/_generated/favicon/apple-touch-icon.png?v=3
[18]: https://www.waveterm.dev/download
[19]: https://news.itsfoss.com/content/images/2023/11/wave-terminal-executable.png
[20]: https://github.com/wavetermdev/waveterm
[0]: https://img.linux.net.cn/data/attachment/album/202311/24/164058enkoo1pol4sllr1p.jpg

Some files were not shown because too many files have changed in this diff Show More