diff --git a/translated/tech/20221201.3 ⭐️⭐️ Monica An Open-Source App for Personal Relationship Management.md b/published/20221201.3 ⭐️⭐️ Monica An Open-Source App for Personal Relationship Management.md similarity index 60% rename from translated/tech/20221201.3 ⭐️⭐️ Monica An Open-Source App for Personal Relationship Management.md rename to published/20221201.3 ⭐️⭐️ Monica An Open-Source App for Personal Relationship Management.md index 4da016170e..c159ea92bb 100644 --- a/translated/tech/20221201.3 ⭐️⭐️ Monica An Open-Source App for Personal Relationship Management.md +++ b/published/20221201.3 ⭐️⭐️ Monica An Open-Source App for Personal Relationship Management.md @@ -3,18 +3,20 @@ [#]: author: "Ankush Das https://itsfoss.com/author/ankush/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15346-1.html" -Monica:个人关系管理的开源应用 +Monica:人际关系管理的开源应用 ====== -你可能已经知道 CRM 代表 **客户关系管理**。 我们已经有了一份帮助小型企业的[开源 CRM 软件][1]列表。 +![][0] -在这里,我将讨论一个有趣的开源 Web 应用,它采用相同的人际关系概念。 听起来很独特,对吧? +你可能已经知道 CRM 代表 客户关系管理Customer Relationship Management。 我们已经有了一份帮助小型企业的 [开源 CRM 软件][1] 列表。 -Monica 是一款可让你组织和记录你与亲人互动的应用。 **如果你自行托管,它是免费的,如果你需要托管版本那么订阅**。 +在这里,我将讨论一个有趣的开源 Web 应用,它采用相同的人际关系概念。听起来很独特,对吧? + +Monica 是一款可让你组织和记录你与亲人互动的应用。**如果你自行托管,它是免费的,如果你需要托管版本那么订阅**。 ### Monica:跟踪社交互动 @@ -22,11 +24,11 @@ Monica 是一款可让你组织和记录你与亲人互动的应用。 **如果 很难记住与家人、朋友或同事互动的每一个细节。 -你可以使用[笔记应用][3]或 [CubyText][4] 等知识管理应用来添加一些信息。 但这些并不是为记录你的互动而量身定制的。 因此,你将不得不付出一些努力,以在需要时得心应手的方式添加信息。 +你可以使用 [笔记应用][3] 或 [CubyText][4] 等知识管理应用来添加一些信息。但这些并不是为记录你的互动而量身定制的。 因此,你将不得不付出一些努力,以在需要时得心应手的方式添加信息。 使用 Monica,添加你的家庭、工作、联系人之间的关系、活动、日记、重要日期的提醒、债务等信息变得更加容易。 -可以将其安装在自己的服务器上或选择 **$90/年**的订阅以获得托管版本。 +可以将其安装在自己的服务器上或选择 **$90/年** 的订阅以获得托管版本。 有趣的是,开发人员最初是根据他的个人要求构建它的。 @@ -34,26 +36,26 @@ Monica 是一款可让你组织和记录你与亲人互动的应用。 **如果 ![dashboard][5] -你可以获得大量选项来添加有关你日常生活中的人和互动的信息。 其中一些包括: +你可以获得大量选项来添加有关你日常生活中的人和互动的信息。其中一些包括: - 添加关于一个人的注释 - 列出与联系人相关的重要其他人的姓名(他们的孩子、宠物等) - 通话记录 - 每个联系人的备用联系方式 -- 重要约会和重要事件提醒。 生日会自动设置为提醒。 +- 重要约会和重要事件提醒。生日会自动设置为提醒。 - 管理礼物信息 - 有用的仪表板,一目了然 - 支持日记条目 Monica 似乎配备了各种功能,使其成为写日记、做笔记、添加联系信息、添加事件等的一体化工具。 -不幸的是,没有可用的移动应用。 你可以从 Web 浏览器访问它,但它可能不是每个人的最佳体验。 所以,如果你坚持用智能手机做笔记和其他东西,你可能想看看其他的。 +不幸的是,没有可用的移动应用。你可以从 Web 浏览器访问它,但它可能不是每个人的最佳体验。所以,如果你坚持用智能手机做笔记和其他东西,你可能想看看其他的。 ### 自托管或订阅访问 -如果你想要 Monica 的托管版本,可以查看它的[定价页面][6]了解更多信息。 +如果你想要 Monica 的托管版本,可以查看它的 [定价页面][6] 了解更多信息。 -对于自托管,你需要前往其 [GitHub 页面][7]并按照说明下载并安装它。 可以选择在 Platform.sh 或 Heroku 上快速部署。 +对于自托管,你需要前往其 [GitHub 页面][7] 并按照说明下载并安装它。可以选择在 Platform.sh 或 Heroku 上快速部署。 在选择服务器来托管 Monica 之前,请检查最低系统要求。 @@ -61,7 +63,7 @@ Monica 似乎配备了各种功能,使其成为写日记、做笔记、添加 这一切都很方便。 所以,选择对你来说不错的。 -前往其[官方网站][8]获取所有详细信息并开始使用。 +前往其 [官方网站][8] 获取所有详细信息并开始使用。 -------------------------------------------------------------------------------- @@ -84,3 +86,4 @@ via: https://itsfoss.com/monica/ [6]: https://www.monicahq.com/pricing [7]: https://github.com/monicahq/monica#get-started [8]: https://www.zdnet.com/article/microsoft-office-365-banned-in-german-schools-over-privacy-fears/ +[0]: https://img.linux.net.cn/data/attachment/album/202212/14/093133zpw06jndpzbdpphp.jpg \ No newline at end of file diff --git a/sources/news/20221212.5 ⭐️ FreeBSD 12.4 is out with 100+ improvements and fixes.md b/sources/news/20221212.5 ⭐️ FreeBSD 12.4 is out with 100+ improvements and fixes.md new file mode 100644 index 0000000000..85f90890c8 --- /dev/null +++ b/sources/news/20221212.5 ⭐️ FreeBSD 12.4 is out with 100+ improvements and fixes.md @@ -0,0 +1,69 @@ +[#]: subject: "FreeBSD 12.4 is out with 100+ improvements and fixes" +[#]: via: "https://debugpointnews.com/freebsd-12-4/" +[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +FreeBSD 12.4 is out with 100+ improvements and fixes +====== + +![][1] + +**FreeBSD 12.4 was released a few days back with several updates and improvements. Here’s a release roundup.** + +FreeBSD is a UNIX-like operating system based on [U.C. Berkley’s BSD-Lite version][2]. It is primarily used for core infra systems, routers, networking devices, and possibly running in millions of devices. FreeBSD bundles thousands of packages from desktop apps to core modules, making it easier to build your system running this awesome operating system. + +### FreeBSD 12.4 Release: Key updates + +FreeBSD 12.4 is the 5th release of the current 12 stable series and coming up after a year’s package updates, improvements and bug fixes. + +Key changes in the release include the OpenSSL version being updated to 1.1.1q, whereas OpenSSH is bumped up to 9.1p1. The LLVM toolchain suite was also upgraded to 13.0.0. Other key version upgrades include `ena` kernel driver 2.6.1, `file` 5.43, `libarchieve` 3.6.0 and `dma` 2022-01-27. + +![FreeBSD 12.4 with Xfce desktop][3] + +Furthermore, this release now allows multiple cores to process traffic to improve performance by `if_repair` driver. Also, the `tcpdump` command now allows users to set several rules which will be exposed as part of the `pflog` header. + +On top of that, the `telnetd` daemon is deprecated in this version which should be noted for network professionals. + +The total number of changes and fixes exceeds 100+, which you can read in detail in the [change log][4]. + +### Download and Upgrade + +If you are running FreeBSD 12.3 version, you can upgrade your system by issuing the following commands: + +``` +freebsd-update -r 12.4-RELEASE upgrade +``` + +``` +freebsd-update install +``` + +For a fresh download, you can get the ISO image from the following page. + +[Download FreeBSD 12.4-RELEASE][5] + +Via [announcements][6] & [change log][4]. + +-------------------------------------------------------------------------------- + +via: https://debugpointnews.com/freebsd-12-4/ + +作者:[arindam][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://debugpointnews.com/author/dpicubegmail-com/ +[b]: https://github.com/lkxed +[1]: https://debugpointnews.com/wp-content/uploads/2022/12/bsd-generic-head.jpg +[2]: https://www.debugpoint.com/unix-history/ +[3]: https://debugpointnews.com/wp-content/uploads/2022/12/FreeBSD-12.4-with-Xfce-desktop.jpg +[4]: https://www.freebsd.org/releases/12.4R/relnotes/ +[5]: https://download.freebsd.org/ftp/releases/ISO-IMAGES/12.4/ +[6]: https://www.freebsd.org/releases/12.4R/announce/ diff --git a/sources/news/20221213.0 ⭐️ Puppy Linux 22.12 (S15Pup) Arrives Based on Slackware 15.md b/sources/news/20221213.0 ⭐️ Puppy Linux 22.12 (S15Pup) Arrives Based on Slackware 15.md new file mode 100644 index 0000000000..980ad2ec0a --- /dev/null +++ b/sources/news/20221213.0 ⭐️ Puppy Linux 22.12 (S15Pup) Arrives Based on Slackware 15.md @@ -0,0 +1,82 @@ +[#]: subject: "Puppy Linux 22.12 (S15Pup) Arrives Based on Slackware 15" +[#]: via: "https://debugpointnews.com/puppy-linux-22-12-s15pup/" +[#]: author: "arindam https://debugpointnews.com/author/dpicubegmail-com/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Puppy Linux 22.12 (S15Pup) Arrives Based on Slackware 15 +====== + +![][1] + +**A new Puppy Linux flavour (Puppy Linux 22.12 S15Pup) is now available based on Slackware 15.** + +Puppy Linux is a super lightweight distro which runs entirely on RAM and requires a very low memory footprint. It is almost loaded with all the necessary applications for everything you need. It is quite remarkable that the Puppy Linux team managed to package all these applications, which run in low memory and surprisingly within 400 MB of ISO size. There are many variants of Puppy Linux based on Ubuntu and other distros – thanks to the fantastic Puppy Builder Woof-CE. + +### Puppy Linux 22.12 (s15pup): What’s New + +The recent release of Puppy Linux 22.12 is based on the Slackware 15.0 components, which were released in February 2022. At its core, the JWM (Joe’s Window Manager) provides flexibility and good performance in Puppy Linux because it runs off the RAM. + +![Puppy Linux 22.12 based on Slackware 15][2] + +Based on Slackware, Puppy 22.12 comes with Linux Kernel LTS series 5.15 for the 64-bit. And the 5.10 for the 32-bit system. The desktop feel is the same as other Puppy flavours based on the JWM 2.4.3. The JWM is used in other distro-based Puppy flavours as well. + +In addition, FFmpeg is loaded with Mplayer for your media playing needs – if at all required in a LIVE system. Also, the “Light” web browser, based on Firefox, gives you easy and performant access to the internet. Alternative browser installation options are also present. + +Furthermore, Puppy Linux 22.12 s15pup pre-loads most of the LXDE apps and components for the overall lightweight experience, such as Lxrandr 0.3.2, Lxtask 0.1.10 and Lxterminal 0.4.0. + +ISO of this Slackware flavour is less than 400 MB in size, and, amazingly, all of the following applications are pre-loaded on it. Here’s a summary of the key packages in this version: + +| Abiword 3.0.1 | Gparted 1.3.1 | Parcellite 1.2.1 | +| Bash 5.1.016 | Grep 3.7 | Rox-filer 17w | +| Busybox 1.35.0 | Gtk+2 2.24.33 | Samba 4.12.15 | +| Cups 2.4.2 | Gtk+3 3.24.31 | Sed 4.8 | +| Curl 7.86.0 | Gtkdialog 0.8.5a | Sylpheed 3.7.0 | +| Dhcpcd 9.4.1 | Icu4c 69.1 | Syslinux 4.07 | +| Didiwiki 0.8 | Jwm 2.4.3 | Transmission 2.60 | +| Evince 2.32.0 | Lxrandr 0.3.2 | Util-linux 2.37.4 | +| Ffmpeg 4.4.3 | Lxtask 0.1.10 | Viewnior 1.7 | +| Gcc 11.2.0 | Lxterminal 0.4.0 | Xdelta 30.16 | +| Geany 1.35 | Mesa 21.3.5 | Xsane 0.999 | +| Ghostscript 9.55.0 | MPlayer 1.4 | +| Glib2 2.70.3 | Mtpaint 3.50.09 | +| Glibc 2.33 | Ncurses 6.3 | +| Gnumeric 1.10.17 | Openssl 1.1.1s | + +### Download + +Puppy Linux is one of those few distros which still provides a 32-bit installation file alongside 64-bit. You can download this version from the following links for the respective architectures. + +- [S15Pup 64-bit – based on Slackware 15.0][3] +- [S15Pup 32-bit – based on Slackware 15.0][4] +- [ScPup 64-bit – based on Slackware current][5] +- [ScPup 32-bit – based on Slackware current][6] + +If you are running it on a virtual machine, make sure to change the CPU architecture to 64-bit before installing it. + +_Via [release announcement][7] & [release notes][8]_ + +-------------------------------------------------------------------------------- + +via: https://debugpointnews.com/puppy-linux-22-12-s15pup/ + +作者:[arindam][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://debugpointnews.com/author/dpicubegmail-com/ +[b]: https://github.com/lkxed +[1]: https://debugpointnews.com/wp-content/uploads/2022/12/pups15head.jpg +[2]: https://debugpointnews.com/wp-content/uploads/2022/12/Puppy-Linux-22.12-based-on-Slackware-15.jpg +[3]: https://sourceforge.net/projects/spup/files/S15Pup64/ +[4]: https://sourceforge.net/projects/spup/files/S15Pup32/ +[5]: https://sourceforge.net/projects/spup/files/ScPup64/ +[6]: https://sourceforge.net/projects/spup/files/ScPup/ +[7]: https://forum.puppylinux.com/viewtopic.php?t=7464&sid=5ee2c343a8dbc0babc476139d188c50f +[8]: http://distro.ibiblio.org/puppylinux/puppy-s15pup/release-S15Pup-22.12.htm diff --git a/sources/tech/20221212.4 ⭐️⭐️ 5 Best Linux Phones to Watch Out for in 2023.md b/sources/tech/20221212.4 ⭐️⭐️ 5 Best Linux Phones to Watch Out for in 2023.md new file mode 100644 index 0000000000..4988fb5a7c --- /dev/null +++ b/sources/tech/20221212.4 ⭐️⭐️ 5 Best Linux Phones to Watch Out for in 2023.md @@ -0,0 +1,226 @@ +[#]: subject: "5 Best Linux Phones to Watch Out for in 2023" +[#]: via: "https://www.debugpoint.com/best-linux-phones/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +5 Best Linux Phones to Watch Out for in 2023 +====== + +**Here’s a list of the best Linux Phones which may become more mainstream in 2023 with their features and price.** + +Android and iOS smartphones are the most popular ones around the world. However, many of you look for something more “open” and better at privacy. If you use Android, you forfeit your privacy. Apple’s iOS is a little better on that – but again – it’s a “walled garden”. + +That’s why Linux phones are becoming popular nowadays because they contain many options for developers and end users. Although various types of Linux phones are currently available, it still becomes confusing to choose the best one. Looking at the trends of 2022, here are some of the Linux Phones which may become more mainstream in 2023. + +### Things you should know about Linux Phones + +Before you read or even plan to buy one, there are a couple of things you should know about. Here are some of them: + +- The Linux phones use a modified version of mainstream Linux distribution with a mobile-friendly desktop environment. This is the same for most of the phones available today. +- You must manage your expectations if you plan to buy a phone and use it for your daily driver. Because the Linux phone operating systems, device features, and app ecosystem is still in the early stages, and it’s not close to the Android or iOS ecosystem, +- However, Linux phones with the operating system provide the best privacy feature, which might be the reason you can make a move. + +### Best Linux Phones + +#### Librem from Purism + +The Librem 5 – Purism is quite a famous brand in the Linux phone market. The Librem 5 model comes with PureOS, an OS designed for Linux Mobiles and not based on the android or iOS platform. It is a natively designed free and open-source OS. PureOS also supports convergence. That means you can plug your phone into a monitor via a USB hub and use it as a desktop OS. + +The phone has premium hardware and feels and focuses on security and privacy. However, this impressive smartphone comes with a little higher price tag of $1299. + +#### Key features & specification + +- Fully free and open-source Linux-based mobile operating system: PureOS +- Separate modem, Wi-Fi and Bluetooth chip +- Three dedicated hardware keys to enable and disable – internet, camera, Wi-Fi and Bluetooth +- Smart card reader +- SD card reader +- User-replaceable battery + +![Librem 5][1] + +| Specification | Description | +| :- | :- | +| **Screen** | 5.7″ (IPS TFT 720×1440) | +| **RAM** | 3 GB | +| **Storage** | 32 GB eMMC | +| **Battery** | 4500mAh | +| **CPU** | NXP i.MX 8M QUAD CORE Cortex-A53 with 64 bit ARM @max 1.5GHz | +| **GPU** | Vivante GC7000 Lite | +| **Screen** | 5.7Inches IPS TFT 720×1440 | +| **Camera** | 13 Mpx with LED Flash (Rear) and 8 Mpx (Front) | +| **USB** | USB Type C | + +[Official page for buying options of Librem 5][2] + +#### Pinephone + +Second on the list is Pinephone, perhaps the most complete and usable Linux phone in the market. Developed by Pine64, it has excellent features and supports multiple Linux ARM distributions for mobile phones. + +In addition, PinePhone comes in multiple versions, including a pro version, simultaneously. It is an excellent option for Linux phones as it is also cheaper. PinePhone focuses on the user’s privacy and extensibility and can be a good option if you want to start the first time with Linux phones. + +#### Key features & specification + +- Supports KDE Plasma mobile, Manjaro mobile, Sailfish OS, and Ubuntu touch +- It comes with five kill switches for LTE, Cameras, Wifi/BT, and Microphones +- Bootable microSD and 16GB/32GB eMMC +- USB Type C (Power, Data and Video Out) +- Six pogo pins allow custom hardware extensions such as a thermal camera, wireless charging, NFC, an extended battery case, or a keyboard case. +- 3.5 headphone jack +- Supports convergence to extend it as a PC +- Affordable price with starting $149 and $199 + +![Pinephone][3] + +| Specification | Description | +| :- | :- | +| **Screen** | 5.95 Inches, HD IPS capacitive touchscreen | +| **CPU** | Allwinner A64 ARM QUAD Core Cortex-A53 and 64bit | +| **GPU** | Mali-400 MP2 | +| **RAM** | Two Variants: 2GB and 3GB LPDDR3 SDRAM | +| **Storage** | Two Variants: 16GB and 32GB eMMC. | +| **Camera** | Single 5MP, 1/4″, LED Flash (Rear) and Single 2MP, f/2.8, 1/5″ (Front) | +| **Battery** | Li-ion (capacity 2800mAh) | +| **Audio Jack** | 3.5 mm | + +[Pinephone buying options][4] + +#### Pro 1 X – F(X)tec + +[Pro 1 X – F(X)tec][5] is a smartphone that offers various options for operating systems. And it’s arguably the more exciting product in this Linux phone list. + +You can use LineageOS, Android, Ubuntu Touch, etc., on the same phone. Moreover, an inbuilt slide-out keyboard makes it more unique and attractive. + +Developed by F(x)tec company in London, its new in the market and shows promise. However, it’s not yet out, with planned shipping on December 2022. Hence, you may need to wait a few days for a review. + +![Pro 1 X][6] + +#### Key features + +- First Linux-based smartphone startup with a sliding QUERTY keyboard +- Supports Ubuntu touch out of the box with an Android option +- Unlocked bootloader +- 3.5 headphone jack +- AMOLED display +- 128GB/6GB (storage and RAM) starting price $829 +- 256GB/8GB (storage and RAM) starting price $899 + +| Specification | Description | +| :- | :- | +| **CPU** | Snapdragon 662 Qualcomm | +| **GPU** | Adreno 610 Qualcomm | +| **RAM** | Two Variants: 6GB and 8GB LPDDR4 | +| **Storage** | 128GB (expandable up to 2TB) | +| **Screen** | 5.99″ with curved edge Corning® Gorilla® Glass 3 ( 2160 x 1080 FHD AMOLED Display) | +| **Camera** | 12MP Sony IMX363 (Rear) and 8MP (Front) | +| **Battery** | 3200 mAh | +| **Audio Jack** | 3.5 mm  | + +[pro 1 x buying options][5] + +#### Volla Phone + +[Volla Phone][7] can operate simultaneously with two operating systems: Ubuntu Touch and VollaOS. Moreover, VollaOS is a modified android that is google-free and simultaneously focuses on the user’s privacy. At the same time, Ubuntu Touch is a popular Linux phone distro. + +#### Key features & specifications + +- Free from Google and services +- No cloud dependency +- Encrypted device storage +- Modified Android OS: Volla OS +- Supports Ubuntu Touch, Manjaro, Sailfish OS +- USB C charging +- 3.5 headphone jack +- Fingerprint log in +- Offline maps + +![Volla Phone][8] + +| Specification | Description | +| :- | :- | +| **CPU** | MediaTek Helio P23 | +| **GPU** | ARM Mali-G71 MP2  | +| **Storage** | 64 GB, eMMC | +| **RAM** | 4 GB DDR3 RAM | +| **Screen** | 6.3Inches, IPS, 2340×1080 Pixels | +| **Camera** | 16MP with Flash (Rear) and 16MP (Front) | +| **Battery** | 4700 mAh | +| **USB** | Type C & 3.5mm Audio Jack | + +[Volla Phone buying options][9] + +#### Fairphone 4 + +It comes with PostmarketOS; [Fairphone 4][10] is another smartphone that has modular hardware. You can replace its battery effortlessly. Moreover, not just the battery, you can also replace its display, etc., just with a screwdriver.   + +Fairphone is another Linux phone which comes with modular hardware. It supports PostmarketOS and uses a modified version of Android: FairPhone OS. The primary selling point of this device is its modularity, where you can replace any part of the mobile phone. That includes the display, battery and other components of this device. + +#### Specifications + +| Specification | Description | +| :- | :- | +| **CPU** | Octa-Core Kryo 570 | +| **RAM** | Two variants: 6GB and 8GB | +| **Storage** | Two variants: 128GB or 256GB | +| **GPU** | Adreno 619 | +| **Screen** | 6.3 inch Full HD+ IPS | +| **Camera** | Dual 48MP (Rear) and 25MP (Front) | +| **Battery** | 3905 mAh Li-ion | +| **Chipset** | Qualcomm SM7225 Snapdragon 750G | + +[FairPhone buying options][11] + +#### Are there any mainstream Android phones that support Linux OS? + +If you don’t want to buy an off-the-shelf mobile phone as listed above, then you can continue using Linux mobile OS in older branded phones because Android is a modified Linux Kernel-based. Hence these devices should work with Ubuntu Touch or PostmarketOS. + +- Google Pixel 3a/3a XL +- Sony Xperia X (F5121 & F5122) +- Google Nexus 5 +- OnePlus One + +- Supported by Ubuntu Touch OS ([full list][12]) + +- Xiaomi Redmi 2 +- Xiaomi Mi Note 2 +- OnePlus GT +- OnePlus 6 + +- Supported by PostmarketOS ([full list][13]) + +### Closing notes + +So, that’s about the best Linux phones available in the market today and will continue in 2023. You can learn more about the above devices from the official website. However, I believe there will be more adoption of Linux phones in the coming days as Privacy becomes a myth every day. + +It’s true that to compete with Android and iOS, the device or OS is not sufficient. What is important is the standard, global availability for buying, low entry-level pricing in emerging markets and investment in the app ecosystem. A streamlined vision is required in the phone ecosystem to win. Without it, Linux phones will become more fragmented, as in desktops. The device makers and major FOSS players need to work together to make it successful. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/best-linux-phones/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.debugpoint.com/author/admin1/ +[b]: https://github.com/lkxed +[1]: https://www.debugpoint.com/wp-content/uploads/2022/12/Librem-5-image2.jpg +[2]: https://puri.sm/products/librem-5/ +[3]: https://www.debugpoint.com/wp-content/uploads/2022/12/Pinephone.jpg +[4]: https://pine64.com/product-category/pinephone +[5]: https://www.fxtec.com/pro1x +[6]: https://www.debugpoint.com/wp-content/uploads/2022/12/Pro-1-X.jpg +[7]: https://volla.online/de/index.html +[8]: https://www.debugpoint.com/wp-content/uploads/2022/12/Volla-Phone.jpg +[9]: https://volla.online/de/shop/ +[10]: https://shop.fairphone.com/en/buy-fairphone-4 +[11]: https://shop.fairphone.com/ +[12]: https://devices.ubuntu-touch.io/ +[13]: https://wiki.postmarketos.org/wiki/Devices diff --git a/sources/tech/20221213.1 ⭐️⭐️⭐️ Battle of the Texts and the Unicode Savior.md b/sources/tech/20221213.1 ⭐️⭐️⭐️ Battle of the Texts and the Unicode Savior.md new file mode 100644 index 0000000000..529dffde10 --- /dev/null +++ b/sources/tech/20221213.1 ⭐️⭐️⭐️ Battle of the Texts and the Unicode Savior.md @@ -0,0 +1,257 @@ +[#]: subject: "Battle of the Texts and the Unicode Savior" +[#]: via: "https://itsfoss.com/unicode-linux/" +[#]: author: "Sylvain Leroux https://www.yesik.it/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Battle of the Texts and the Unicode Savior +====== + +We all know how to type text on the keyboard. Don’t we? + +So, may I challenge you to type that text in your favorite text editor: + +![«Ayumi moved to Tokyo in 1993 to pursue her career» said Dmitrii][1] + +This text is challenging to type since it contains: + +- typographical signs not directly available on the keyboard, +- hiragana Japanese characters, +- the name of the Japanese capital written with a macron on top of the two letters “o” to comply with the Hepburn romanization standard, +- and finally, the first name Dmitrii written using the Cyrillic alphabet. + +No doubt, writing such a sentence on early computers would have been simply impossible. Because computers used limited character sets, unable to let coexist several writing systems. But today such limitations are lifted as we will see in this article. + +### How do computers store text? + +Computers stores characters as numbers. And they use tables to map those numbers to the glyph used to represent them. + +For a long time, computers stored each character as a number between 0 and 255 (which fits exactly one byte). But that was far from being sufficient to represent the whole set of characters used in human writing. So, the trick was to use a different correspondence table depending on where in the world you lived. + +Here is the [ISO 8859-15][2] correspondence table commonly used in France: + +![The ISO 8859-15 encoding][3] + +But if you lived in Russia, your computer would have probably used the [KOI8-R][4] or [Windows-1251][5] encoding instead. Let’s assume that later was used: + +![The Windows-1251 encoding is a popular choice to store text written using the Cyrillic alphabets][6] + +For numbers lower than 128, the two tables are identical. This range is corresponding to the [US-ASCII][7] standard, some kind of minimum-compatible set between characters tables. But beyond 128, the two tables are completely different. + +For example, according to Windows-1251, the string _“said Дмитрий”_ is stored as: + +``` +115 97 105 100 32 196 236 232 242 240 232 233 +``` + +To follow a common practice in computer sciences, those twelve numbers can be rewritten using the more compact hexadecimal notation: + +``` +73 61 69 64 20 c4 ec e8 f2 f0 e8 e9 +``` + +If Dmitrii sends me that file, and I open it I might end up seeing that: + +``` +said Äìèòðèé +``` + +The file _appears_ to be corrupted. But it isn’t. The data— that is the _numbers_–stored in that file don’t have changed. As I live in France, my computer has _assumed_ the file to be encoded as ISO8859-15. And it displayed the characters _of that table_ corresponding to the data. And not the character of the encoding table used when the text was originally written. + +To give you an example, take the character Д. It has the numeric code 196 (c4) according to Windows-1251. The only thing stored in the file is the number 196. But that same number corresponds to Ä according to ISO8859-15. So my computer wrongly believed it was the glyph intended to be displayed. + +![When the same text file is written then read again but using a different encoding][8] + +As a side note, you can still occasionally see an illustration of those issues on ill-configured websites or in email send by [mail user agents][9] making false assumptions about the character encoding used on the recipient’s computer. Such glitches are sometimes nicknamed [mojibake][10]. Hopefully, this is less and less frequent today. + +![Example of Mojibake on the website of a French movie distributor. The website name has been changed to preserve the innocent.][11] + +### Unicode comes to save to the day + +I explained encoding issues when exchanging files between different countries. But things were even worst since the encodings used by different manufacturers for the same country were not always the same. You can understand what I mean if you had to exchange files between Mac and PC in the 80s. + +Is it a coincidence or not, the [Unicode][12] project started in 1987, led by people of Xerox and … Apple. + +The goal of the project was to define a universal character set allowing to _simultaneously_ use any character used in human writing within the same text. The original Unicode project was limited to 65536 different characters (each character being represented using 16 bits— that is two bytes per character). A number that has proven to be insufficient. + +So, in 1996 Unicode has been extended to support up to 1 million different [code points][13]. Roughly speaking, a “code point” a number that identifies an entry in the Unicode character table. And one core job of the Unicode project is to make an inventory of all letters, symbols, punctuation marks and other characters that are (or were) used worldwide, and to assign to each of them a code point that will uniquely identify that character. + +This is a huge project: to give you some idea, the version 10 of Unicode, published in 2017, defines over 136,000 characters covering 139 modern and historic scripts. + +With such a large number of possibilities, a basic encoding would require 32 bits (that is 4 bytes) per character. But for text using mainly the characters in the US-ASCII range, 4 bytes per character means 4 times more storage required to save the data and 4 times more bandwidth to transmit them. + +![Encoding text as UTF-32 requires 4 bytes per character][14] + +So besides the [UTF-32][15] encoding, the Unicode consortium defined the more space-efficient [UTF-16][16] and [UTF-8][17] encodings, using respectively 16 and 8 bits. But how to store over 100,000 different values in only 8 bits? Well, you can’t. But the trick is to use one code value (8 bits in UTF-8, 16 in UTF-16) to store the most frequently used characters. And to use several code values for the least commonly used characters. So UTF-8 and UTF-16 are _variable length_ encoding. Even if this has drawbacks, UTF-8 is a good compromise between space and time efficiency. Not mentioning being backward compatible with most 1-byte pre-Unicode encoding, since UTF-8 was specifically designed so any valid US-ASCII file is also a valid UTF-8 file. In a sense, UTF-8 is a superset of US-ASCII. And today, there is no reason for not using the UTF-8 encoding. Unless of course if you write mostly with languages requiring multi-byte encodings or if you have to deal with legacy systems. + +I let you compare the UTF-16 and UTF-8 encoding of the same string on the illustrations below. Pay special attention to the UTF-8 encoding using one byte to store the characters of the Latin alphabet. But using two bytes to store characters of the Cyrillic alphabet. That is twice more space than when storing the same characters using the Windows-1251 Cyrillic encoding. + +![UTF-16 is a variable length encoding requiring 2 bytes to encode most characters. Some character still requires 4 bytes though (for example][18] + +![UTF-8 is a variable length encoding requiring 1, 2, 3 or 4 bytes per character][19] + +### And how does that help for typing text? + +Well… It doesn’t hurt to have some knowledge of the underlying mechanism to understand the capabilities and limitations of your computer. Especially we will talk about Unicode and hexadecimal a little later. But for now… a little bit more history. Just a little bit, I promise… + +… just enough to say starting in the 80s, computer keyboard used to have a [compose key][20] (sometimes labeled the “multi” key) next to the shift key. By pressing that key, you entered in “compose” mode. And once in that mode, you were able to enter characters not directly available on your keyboard by entering mnemonics instead. For example, in compose mode, typing RO produced the ® character (which is easy to remember as an R inside an O). + +![compose key on lk201 keyboard][21] + +It is now a rarity to see the compose key on modern keyboards. Probably because of the domination of PCs that don’t make use of it. But on Linux (and possibly on other systems?) you can emulate the compose key. This is something that can be configured in the GUI on many desktop environments using the “keyboard” control panel: But the exact procedure varies depending on your desktop environment or even depending its version. If you changed that setting, don’t hesitate to use the comment section to share the specific steps you’ve followed on your computer. + +As for myself, for now, I will assume you use the default Shift+AltGr combination to emulate the compose key. + +So, as a practical example, to enter the LEFT-POINTING DOUBLE ANGLE QUOTATION MARK, you can type Shift+AltGr<< (you don’t have to maintain Shift+AltGr pressed when entering the mnemonic). If you managed to do that, I think you should be able to guess by yourself how to enter the _RIGHT-POINTING_ DOUBLE ANGLE QUOTATION MARK. + +As another example, try Shift+AltGr--- to produce an EM DASH. For that to work, you have to press the [hyphen-minus][22] key on the main keyboard, not the one you will find on your numeric keypad. + +Worth mentioning the “compose” key works in a non-GUI environment too. But depending if you use you use X11 or a text-only console, the supported compose key sequence are not the same. + +On the console, you can check the list of supported compose key by using the `dumpkeys` command: + +``` +dumpkeys --compose-only +``` + +On the GUI, compose key is implemented at Gtk/X11 level. For a list of all mnemonics supported by the Gtk, take a look at that page: [https://help.ubuntu.com/community/GtkComposeTable][23] + +### Is there a way to avoid relying on Gtk for character composition? + +Maybe I’m a purist, but I found somewhat unfortunate the compose key support being hard-coded in Gtk. After all, not all GUI applications are using that library. And I cannot add my own mnemonics without re-compiling the Gtk. + +Hopefully, there is support for character composition at X11-level too. Formerly, through the venerable [X Input Method (XIM)][24]. + +This will work at lower-level than Gtk-based character composition. But will allow a great amount of flexibility. And will work with many X11 applications. + +For example, let’s imagine I just want to add the --> composition to enter the → character (U+2192 RIGHTWARDS ARROW), I would create a `~/.XCompose` file containing those lines: + +``` +cat > ~/.XCompose << EOT +# Load default compose table for the current local +include "%L" + +# Custom definitions + : U2192 # RIGHTWARDS ARROW +EOT +``` + +Then you can test by starting a new X11 application, forcing libraries to use XIM as input method: + +``` +GTK_IM_MODULE="xim" QT_IM_MODULE="xim" xterm +``` + +The new compose sequence should be available in the application you launched. I encourage you to learn more about the compose file format by typing `man 5 compose`. + +To make XIM the default input method for all your applications, just add to your `~/.profile` file the following two lines. that change will be effective the next time you’ll open a session on your computer: + +``` +export GTK_IM_MODULE="xim" +export QT_IM_MODULE="xim" +``` + +It’s pretty cool, isn’t it? That way you can add all the compose sequences you might want. And there are already a couple of funny ones in the default XIM settings. Try for example to press composeLLAP. + +Well, I must mention two drawbacks though. XIM is relatively old and is probably only suitable for those of us who don’t regularly need multi-bytes input methods. Second, when using XIM as your input method, you no longer can enter Unicode characters by their code point using the Ctrl+Shift+u sequence. What? Wait a minute? I didn’t talk about that yet? So let’s do it now: + +### What if there is no compose key sequence for the character I need? + +The compose key is a nice tool to type some characters not available on the keyboard. But the default set of combinations is limited, and switching to XIM and defining a new compose sequence for a character you will need only once in a lifetime can be cumbersome. + +Does that prevent you to mix Japanese, Latin and Cyrillic characters in the same text? Certainly not, thanks to Unicode. For example, the name あゆみ is made of: + +- the [HIRAGANA LETTER A (U+3042)][25] +- the [HIRAGANA LETTER YU (U+3086)][26] +- and the [HIRAGANA LETTER MI (U+307F)][27] + +I mentioned above the official Unicode character names, following the convention to write them in all upper cases. After their name, you will find their Unicode code point, written between parenthesis, as a 16-bit hexadecimal number. Does that remind you something? + +Anyway, once you know the code point of a character, you can enter it using the following combination: + +- Ctrl+Shift+u, then XXXX (the _hexadecimal_ code point of the character you want) and finally Enter. + +As a shorthand, if you don’t release Ctrl+Shift while entering the code point, you won’t have to press Enter. + +Unfortunately, that feature is implemented at software library level rather than at X11 level. So the support may be variable among different applications. In LibreOffice, for example, you have to type the code point using the main keyboard. Whereas Gtk-based application will accept entry from the numeric keypad as well. + +Finally, when working at the console on my Debian system, there is a similar feature, but requiring instead to press Alt+XXXXX where XXXXX is the code point of the character you want, but written in _decimal_ this time. I wonder if this is Debian-specific or related to the fact I’m using the en_US.UTF-8 locale. If you have more information about that, I would be curious to read you in the comment section! + +| GUI | Console | Character | +| :- | :- | :- | +| Ctrl+Shift+u3042Enter | Alt+12354 | あ | +| Ctrl+Shift+u3086Enter | Alt+12422 | ゆ | +| Ctrl+Shift+u307FEnter | Alt+12415 | み | + +### Dead keys + +Last but not least, there is a simpler method to enter key combinations that do not rely (necessarily) on the compose key. + +Some keys on your keyboard were specifically designed to create a combination of characters. Those are called [dead keys][28]. Because when you press them once, nothing seems to happen. But they will silently modify the character produced by the next key you will press. This is a behavior inspired from mechanical typewriter: with them, pressing a dead key imprinted a character, but will not move the carriage. So the next keystroke will imprint another character at the same position. Visually resulting in a combination of the two pressed keys. + +We use that a lot in French. For example, to enter the letter “ë” I have to press the ¨ dead key followed by the e key. Similarly, Spanish people have the ~ dead key on their keyboard. And on the keyboard layout for Nordic languages, you can find the ° key. And I could continue that list for a very long time. + +![hungary dead keys][29] + +Obviously, not all dead keys are available on all keyboard. I fact, most dead keys are NOT available on your keyboard. For example, I assume very few of you— if any— have a dead key ­­­¯ to enter the macron (“flat accent”) used to write Tōkyō. + +For those dead keys that are not directly available on your keyboard, you need to resort to other solutions. The good news is we’ve already used those techniques. But this time we will use them to emulate dead keys. Not “ordinary” keys. + +So, a first option could be to generate the macron dead key by using Compose- (the hyphen-minus key available on your keyboard). Nothing appears. But if after that you press the o key it will finally produce “ō”. + +The list of dead keys that Gtk can produce using the compose mode can be found [here][30]. + +A different solution would use the Unicode COMBINING MACRON (U+0304) character. Followed by the letter o. I will leave the details up to you. But if you’re curious, you may discover this leads to a very subtlely different result, rather than really producing a LATIN SMALL LETTER O WITH MACRON. And if I wrote the end of the previous sentence in all uppercase, this is a hint guiding you toward a method to enter ō with fewer keystrokes than by using a Unicode combining character… But I let that to your sagacity. + +### Your turn to practice! + +So, did you get it all? Does that work on your computer? It’s your turn to try that: using the clues given above, and a little bit of practice, now you can enter the text of the challenge given in the beginning of this article. Do it, then copy-paste your text in the comment section below as proof of your success. + +There is nothing to win, except maybe the satisfaction of impressing your peers! + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/unicode-linux/ + +作者:[Sylvain Leroux][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.yesik.it/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/wp-content/uploads/2017/10//text-challenge.png +[2]: https://en.wikipedia.org/wiki/ISO/IEC_8859-15 +[3]: https://itsfoss.com/wp-content/uploads/2017/10//ISO_8859-15.png +[4]: https://en.wikipedia.org/wiki/KOI8-R +[5]: https://en.wikipedia.org/wiki/Windows-1251 +[6]: https://itsfoss.com/wp-content/uploads/2017/10//Windows-1251.png +[7]: https://en.wikipedia.org/wiki/ASCII +[8]: https://itsfoss.com/wp-content/uploads/2017/10//windows-1251-to-iso8859-15-encoding-decoding-error-example.png +[9]: https://en.wikipedia.org/wiki/Email_client +[10]: https://en.wikipedia.org/wiki/Mojibake +[11]: https://itsfoss.com/wp-content/uploads/2017/10/Mojibake-french-example.png +[12]: https://en.wikipedia.org/wiki/Unicode +[13]: https://en.wikipedia.org/wiki/Code_point +[14]: https://itsfoss.com/wp-content/uploads/2017/10//unicode-utf-32-encoding-example.png +[15]: https://en.wikipedia.org/wiki/UTF-32 +[16]: https://en.wikipedia.org/wiki/UTF-16 +[17]: https://en.wikipedia.org/wiki/UTF-8 +[18]: https://itsfoss.com/wp-content/uploads/2017/10//unicode-utf-16-encoding-example.png +[19]: https://itsfoss.com/wp-content/uploads/2017/10//unicode-utf-8-encoding-example.png +[20]: https://en.wikipedia.org/wiki/Compose_key +[21]: https://itsfoss.com/wp-content/uploads/2022/12/compose_key_on_lk201_keyboard.jpg +[22]: https://en.wikipedia.org/wiki/Hyphen-minus +[23]: https://help.ubuntu.com/community/GtkComposeTable +[24]: https://en.wikipedia.org/wiki/X_Input_Method +[25]: http://www.fileformat.info/info/unicode/char/3042/index.htm +[26]: http://www.fileformat.info/info/unicode/char/3086/index.htm +[27]: http://www.fileformat.info/info/unicode/char/307F/index.htm +[28]: https://en.wikipedia.org/wiki/Dead_key +[29]: https://itsfoss.com/wp-content/uploads/2022/12/hungary_dead_keys.png +[30]: https://help.ubuntu.com/community/GtkDeadKeyTable