{
  "version": "https://jsonfeed.org/version/1", 
  "title": "Linux", 
  "description": "Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution.", 
  "home_page_url": "https://www.v2ex.com/go/linux", 
  "feed_url": "https://www.v2ex.com/feed/linux.json", 
  "icon": "https://cdn.v2ex.com/navatar/6512/bd43/11_large.png?m=1724399301", 
  "favicon": "https://cdn.v2ex.com/navatar/6512/bd43/11_normal.png?m=1724399301", 
  "items": [
    {
      "author": {
        "url": "https://www.v2ex.com/member/wuruxu", 
        "name": "wuruxu", 
        "avatar": "https://cdn.v2ex.com/avatar/0c1d/51f3/76854_large.png?m=1785818636"
      }, 
      "url": "https://www.v2ex.com/t/1240497", 
      "title": "libcr \u9879\u76ee\u7ec4\u53d1\u5e03\u7011\u5e03\u6d41\u6a21\u5f0f\u7167\u7247\u5e94\u7528 crPhotos 1.0.0 for Linux", 
      "id": "https://www.v2ex.com/t/1240497", 
      "date_published": "2026-09-08T12:43:21+00:00", 
      "content_html": "\u514d\u8d39\u4e0b\u8f7d <a target=\"_blank\" href=\"https://github.com/libcr/crPhotos/releases\" rel=\"nofollow noopener\">https://github.com/libcr/crPhotos/releases</a>      <br /><br />1. \u65b0\u589e Nearby sharing \u534f\u8bae\uff0c\u652f\u6301 crPhotos \u95f4\u5feb\u901f\u5206\u4eab\u7167\u7247\u548c\u89c6\u9891<br />2. \u65b0\u589e heif \u7684\u652f\u6301<br /><br />crPhotos \u662f\u4e00\u6b3e C++\u5f00\u53d1\u7684\u7011\u5e03\u6d41\u6a21\u5f0f\u7684\u7167\u7247\u5e94\u7528 \u57fa\u4e8e\u6e90\u4ee3\u7801 chromium 150.0.7871.91<br />\u652f\u6301 Linux \u5e73\u53f0\u7684 GPU \u6e32\u67d3\u52a0\u901f\uff0c\u89c6\u9891\u786c\u4ef6\u89e3\u7801\u7684\u7167\u7247\u5e94\u7528<br /><br /><a target=\"_blank\" href=\"https://i.imgur.com/x6vQiqc.jpeg\" rel=\"nofollow noopener\" target=\"_blank\"><img src=\"https://i.imgur.com/x6vQiqc.jpeg\" class=\"embedded_image\" rel=\"noreferrer\"></a><br /><br /><br />\u66f4\u591a\u514d\u8d39\u5e94\u7528\u548c\u4fe1\u606f\u8bbf\u95ee <a target=\"_blank\" href=\"https://libcr.github.io\" rel=\"nofollow noopener\">https://libcr.github.io</a>"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/wuruxu", 
        "name": "wuruxu", 
        "avatar": "https://cdn.v2ex.com/avatar/0c1d/51f3/76854_large.png?m=1785818636"
      }, 
      "url": "https://www.v2ex.com/t/1239759", 
      "title": "crPhotos - \u652f\u6301 Linux \u7684\u7011\u5e03\u6d41\u6a21\u5f0f\u7684\u7167\u7247\u6d4f\u89c8\u5668", 
      "id": "https://www.v2ex.com/t/1239759", 
      "date_published": "2026-09-05T23:22:54+00:00", 
      "content_html": "\u514d\u8d39\u4e0b\u8f7d <a target=\"_blank\" href=\"https://github.com/libcr/crPhotos/releases\" rel=\"nofollow noopener\">https://github.com/libcr/crPhotos/releases</a>     <br /><br />crPhotos \u662f\u4e00\u6b3e C++\u5f00\u53d1\u7684\u7167\u7247\u548c\u89c6\u9891\u6d4f\u89c8\u5668  \u57fa\u4e8e\u6e90\u4ee3\u7801 chromium 150.0.7871.91    <br />\u652f\u6301 GPU \u6e32\u67d3\u52a0\u901f\uff0c\u786c\u4ef6\u89e3\u7801\uff0cAI \u534f\u52a9\u5f00\u53d1\u7684\u5e94\u7528\u8f6f\u4ef6     <br /><br /><a target=\"_blank\" href=\"https://i.imgur.com/QscngXs.jpeg\" rel=\"nofollow noopener\" target=\"_blank\"><img src=\"https://i.imgur.com/QscngXs.jpeg\" class=\"embedded_image\" rel=\"noreferrer\"></a>"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/liang00", 
        "name": "liang00", 
        "avatar": "https://cdn.v2ex.com/avatar/b7c8/f4f7/523006_large.png?m=1788421220"
      }, 
      "url": "https://www.v2ex.com/t/1238894", 
      "title": "\u65e7\u7684\u5b89\u5353\u624b\u673a\u53d8\u670d\u52a1\u5668", 
      "id": "https://www.v2ex.com/t/1238894", 
      "date_published": "2026-09-02T04:25:12+00:00", 
      "content_html": "\u95f2\u7740\u65e0\u804a\uff0c\u8ba9 5.6 sol \u8bc4\u4f30\u5c0f\u7c73 10Pro \u9002\u914d Linux \u7684\u53ef\u80fd\u6027\uff0c\u56e0\u4e3a SM8250 \u6709\u4e3b\u7ebf\u5185\u6838\u652f\u6301\uff0c5.6 sol+grok4.6 \u901a\u8fc7\u4e00\u665a\u7684\u52aa\u529b\u771f\u628a\u5185\u6838\u8dd1\u8d77\u6765\u4e86\uff0c\u53ea\u4e0d\u8fc7\u5176\u4ed6\u9a71\u52a8\u7684\u9002\u914d\u662f\u5f88\u8017\u65f6\u95f4\uff0c\u5c31\u6bd4\u5982 USB \u7ed9\u952e\u76d8\u4f9b\u7535\uff0cai \u641e\u4e86\u4e24\u5929\u624d\u597d\uff0c\u4e5f\u53ef\u80fd\u662f\u6211\u6ca1\u5f00 Pro Plus \u7684\u989d\u5ea6\u592a\u5c11\u4e86\uff0c\u5199 iOS \u6216\u8005 web Plus \u7684\u989d\u5ea6\u8fd8\u662f\u5f88\u591f\u7528\u7684\uff0c\u4f46\u662f\u4e00\u9002\u914d\u5c0f\u7c73\u624b\u673a\u7684\u9a71\u52a8\uff0c5 \u5c0f\u65f6\u4e00\u4f1a\u5e72\u6ca1\u4e86\uff0c\u53ea\u80fd\u7b49\u3002\u76ee\u524d\u5df2\u7ecf\u80fd\u5f53\u4e00\u4e2a\u670d\u52a1\u5668\u7528\u4e86\u3002<br /><br />------------------<br />OS: postmarketOS edge aarch64<br />Host: Xiaomi Mi 10 Pro<br />Kernel: Linux 7.1.0<br />Uptime: 50 mins<br />Packages: 608 (apk)<br />Shell: zsh 5.9<br />Display (DSI-1): 1080x2340<br />Terminal: /dev/pts/2<br />CPU: sm8250 (1+3+4) @ 2.84 GHz<br />GPU: Qualcomm Turnip Adreno (TM) 650 [Integrated]<br />Memory: 1.39 GiB / 7.35 GiB (19%)<br />Swap: 0 B / 11.02 GiB (0%)<br />Disk (/): 13.12 GiB / 219.52 GiB (6%) - ext4<br />Local IP (wlan0): 192.168.50.158/24<br />Battery: 28% (4 hours, 33 mins remaining) [Discharging]<br />Locale: en_US.UTF-8"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/wniming", 
        "name": "wniming", 
        "avatar": "https://cdn.v2ex.com/gravatar/708d900c4d23d905941b0c2cf38b7565?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1238347", 
      "date_modified": "2026-08-31T03:33:23+00:00", 
      "content_html": "<p>\u6211\u8ba9 Codex \u5e2e\u6211\u5199\u4e86\u4e00\u4e2a\u53ef\u4ee5\u7a33\u5b9a\u89e6\u53d1\u8fd9\u4e2a bug \u7684\u7a0b\u5e8f\uff1a</p>\n<pre><code>#define _GNU_SOURCE\n\n#include &lt;errno.h&gt;\n#include &lt;fcntl.h&gt;\n#include &lt;pthread.h&gt;\n#include &lt;stdint.h&gt;\n#include &lt;stdio.h&gt;\n#include &lt;stdlib.h&gt;\n#include &lt;stdatomic.h&gt;\n#include &lt;sys/mman.h&gt;\n#include &lt;unistd.h&gt;\n\n#define READ_SIZE 4096UL\n#define TEST_FILE_SIZE (1UL * 1024 * 1024)\n#define MAX_TRIES 100UL\n\n/*\n * Reproduce the Btrfs direct-IO checksum false failure:\n * one thread overwrites the O_DIRECT read buffer while read() is in flight.\n */\nstatic atomic_int stop_scribble;\n\nstatic void fill_buffer(char *buf, size_t len, uint64_t *seed)\n{\n    size_t i;\n\n    for (i = 0; i &lt; len; i++) {\n        *seed ^= *seed &lt;&lt; 13;\n        *seed ^= *seed &gt;&gt; 7;\n        *seed ^= *seed &lt;&lt; 17;\n        buf[i] = (char)*seed;\n    }\n}\n\nstatic int create_test_file(void)\n{\n    char path[] = \"./btrfs-read-repro.XXXXXX\";\n    char buf[READ_SIZE];\n    uint64_t seed = 0x123456789abcdef0ULL;\n    size_t done;\n    int fd;\n    int direct_fd;\n\n    fd = mkstemp(path);\n    if (fd &lt; 0) {\n        perror(\"mkstemp\");\n        return -1;\n    }\n\n    for (done = 0; done &lt; TEST_FILE_SIZE; done += sizeof(buf)) {\n        ssize_t ret;\n\n        fill_buffer(buf, sizeof(buf), &amp;seed);\n        ret = write(fd, buf, sizeof(buf));\n        if (ret != (ssize_t)sizeof(buf)) {\n            if (ret &lt; 0) {\n                perror(\"write\");\n            } else {\n                fprintf(stderr, \"short write: %zd\\n\", ret);\n            }\n            goto fail;\n        }\n    }\n\n    if (fsync(fd) &lt; 0) {\n        perror(\"fsync\");\n        goto fail;\n    }\n\n    (void)posix_fadvise(fd, 0, 0, POSIX_FADV_DONTNEED);\n    close(fd);\n\n    direct_fd = open(path, O_RDONLY | O_DIRECT | O_CLOEXEC);\n    if (direct_fd &lt; 0) {\n        perror(path);\n        unlink(path);\n        return -1;\n    }\n\n    unlink(path);\n    return direct_fd;\n\nfail:\n    close(fd);\n    unlink(path);\n    return -1;\n}\n\nstatic void *scribble_thread(void *opaque)\n{\n    char *buf = opaque;\n    uint64_t v = 0x5a5a5a5a5a5a5a5aULL;\n\n    while (!atomic_load_explicit(&amp;stop_scribble, memory_order_relaxed)) {\n        size_t off;\n\n        for (off = 0; off &lt; READ_SIZE; off += sizeof(v)) {\n            *(volatile uint64_t *)(buf + off) = v;\n        }\n        v += 0x0101010101010101ULL;\n    }\n\n    return NULL;\n}\n\nint main(void)\n{\n    pthread_t scribbler;\n    char *buf;\n    int fd;\n    int reproduced = 0;\n\n    fd = create_test_file();\n    if (fd &lt; 0) {\n        return 1;\n    }\n\n    buf = mmap(NULL, READ_SIZE, PROT_READ | PROT_WRITE,\n               MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);\n    if (buf == MAP_FAILED) {\n        perror(\"mmap\");\n        close(fd);\n        return 1;\n    }\n\n    if (pthread_create(&amp;scribbler, NULL, scribble_thread, buf) != 0) {\n        perror(\"pthread_create\");\n        munmap(buf, READ_SIZE);\n        close(fd);\n        return 1;\n    }\n\n    for (unsigned long n = 0; n &lt; MAX_TRIES; n++) {\n        ssize_t ret;\n\n        if (lseek(fd, 0, SEEK_SET) &lt; 0) {\n            perror(\"lseek\");\n            break;\n        }\n\n        ret = read(fd, buf, READ_SIZE);\n\n        if (ret &lt; 0 &amp;&amp; errno == EIO) {\n            fprintf(stderr, \"reproduced: read returned EIO at try %lu\\n\", n);\n            reproduced = 1;\n            break;\n        }\n        if (ret != (ssize_t)READ_SIZE) {\n            fprintf(stderr, \"unexpected read result: %zd errno=%d\\n\",\n                    ret, errno);\n            break;\n        }\n    }\n\n    atomic_store_explicit(&amp;stop_scribble, 1, memory_order_relaxed);\n    pthread_join(scribbler, NULL);\n\n    munmap(buf, READ_SIZE);\n    close(fd);\n\n    if (!reproduced) {\n        fprintf(stderr, \"not reproduced after %lu tries\\n\", MAX_TRIES);\n        return 1;\n    }\n\n    return 0;\n}\n\n</code></pre>\n<p>\u53ea\u9700\u8981\u5f53\u524d\u76ee\u5f55\u662f btrfs \uff0c\u8fd0\u884c\u8fd9\u4e2a\u7a0b\u5e8f\u5c31\u80fd\u76f4\u63a5\u89e6\u53d1\u4e0b\u9762\u8fd9\u4e2a\u62a5\u9519\uff1a</p>\n<pre><code>root@develop:~/test# gcc btrfs_read_repro.c -pthread -o btrfs_read_repro\nroot@develop:~/test# \nroot@develop:~/test# ./btrfs_read_repro\nreproduced: read returned EIO at try 1\nroot@develop:~/test# \nroot@develop:~/test# dmesg\n[12297.261256] BTRFS warning (device nvme1n1p1): csum failed root 336 ino 1110132 off 0 csum 0x588c3802 expected csum 0x84efe040 mirror 1\n[12297.261263] BTRFS error (device nvme1n1p1): bdev /dev/nvme1n1p1 errs: wr 0, rd 0, flush 0, corrupt 36926, gen 0\n[12297.261267] BTRFS warning (device nvme1n1p1): direct IO failed ino 1110132 op 0x8800 offset 0x0 len 4096 err no 10\nroot@develop:~/test# \n</code></pre>\n<p>\u6211\u7528\u6700\u65b0\u7684 7.3-rc1 \u5185\u6838\u6d4b\u8bd5\u4ecd\u7136\u6709\u8fd9\u4e2a\u62a5\u9519\uff0c\u4e0d\u77e5\u9053\u4e0a\u6e38\u662f\u5426\u77e5\u9053\u6709\u8fd9\u4e2a bug \uff0c\u8fd9\u4e2a bug \u7528 5.10 \u5185\u6838\u90fd\u80fd\u590d\u73b0\uff0c\u5982\u679c\u4e0a\u6e38\u77e5\u9053\u8fd9\u4e2a bug \u7684\u5b58\u5728\u4e3a\u5565\u5230\u73b0\u5728\u8fd8\u90fd\u6ca1\u6709\u4fee\u590d\u3002</p>\n", 
      "date_published": "2026-08-31T03:32:40+00:00", 
      "title": "\u53d1\u73b0\u4e86\u4e00\u4e2a btrfs \u7684 bug\uff0c\u6709\u6ca1\u6709 v \u53cb\u4e00\u8d77\u6765\u770b\u4e0b\uff1f", 
      "id": "https://www.v2ex.com/t/1238347"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/oferge0311", 
        "name": "oferge0311", 
        "avatar": "https://cdn.v2ex.com/gravatar/d0ba9807cec9d1a90e1e35b947b8ae16?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1237351", 
      "title": "\u6c42\u52a9\uff1a\u6709\u6ca1\u6709\u65e0\u5f71\u54cd\u68c0\u67e5 /etc/fstab \u7684\u53ef\u9760\u65b9\u6cd5\uff1f", 
      "id": "https://www.v2ex.com/t/1237351", 
      "date_published": "2026-08-26T06:32:58+00:00", 
      "content_html": "<p>\u6700\u8fd1\u5728\u505a\u4e00\u6279 Linux \u4e3b\u673a\u7684 CVE \u6f0f\u6d1e\u4fee\u590d\uff0c\u9047\u5230\u4e00\u4e2a\u6bd4\u8f83\u5b9e\u9645\u7684\u95ee\u9898\uff0c\u60f3\u8bf7\u6559\u4e00\u4e0b\u5927\u5bb6\u6709\u6ca1\u6709\u6210\u719f\u7684\u5904\u7406\u65b9\u5f0f\u3002</p>\n<p>\u56e0\u4e3a\u5f88\u591a\u5b89\u5168\u8865\u4e01\uff0c\u73b0\u5728\u90fd\u662f\u6d89\u53ca\u5230\u5185\u6838\u7ea7\u522b\uff0c\u5b89\u88c5\u5b8c\u6210\u540e\u90fd\u9700\u8981\u91cd\u542f\u624d\u80fd\u771f\u6b63\u751f\u6548\uff0c\u4f46\u662f\u5728\u6279\u91cf\u91cd\u542f\u4e3b\u673a\u4e4b\u524d\uff0c\u4e5f\u9047\u5230\u4e86 /etc/fstab \u4e2d\u5b58\u5728\u5f02\u5e38\u914d\u7f6e\u800c\u65e0\u6cd5\u62c9\u8d77\u7684\u60c5\u51b5\u3002</p>\n<p>\u56e0\u4e3a\u5982\u679c /etc/fstab \u91cc\u5b58\u5728\u9519\u8bef\uff0c\u6bd4\u5982\uff1a</p>\n<p>UUID \u6216\u8bbe\u5907\u8def\u5f84\u9519\u8bef\n\u6587\u4ef6\u7cfb\u7edf\u7c7b\u578b\u9519\u8bef\n\u6302\u8f7d\u53c2\u6570\u4e0d\u652f\u6301\n\u672c\u5730\u8bbe\u5907\u4e0d\u5b58\u5728\nNFS \u7b49\u7f51\u7edc\u6587\u4ef6\u7cfb\u7edf\u4e0d\u53ef\u8fbe\n\u5176\u4ed6\u53ea\u6709\u5b9e\u9645\u6302\u8f7d\u65f6\u624d\u4f1a\u66b4\u9732\u7684\u95ee\u9898</p>\n<p>\u90fd\u6709\u53ef\u80fd\u5bfc\u81f4\u4e3b\u673a\u91cd\u542f\u540e\u8fdb\u5165\u6551\u63f4\uff0c\u6216\u65e0\u6cd5\u62c9\u8d77</p>\n<p>\u76ee\u524d\u60f3\u8981\u4e0e\u5927\u5bb6\u63a2\u8ba8\u7684\u662f\uff1a</p>\n<p>\u5e0c\u671b\u5728 reboot \u4e4b\u524d\uff0c\u5bf9 /etc/fstab \u505a\u4e00\u6b21\u5c3d\u53ef\u80fd\u63a5\u8fd1\u771f\u5b9e\u6302\u8f7d\u7ed3\u679c\u7684\u68c0\u67e5\uff0c\u4f46\u53c8\u4e0d\u80fd\u771f\u6b63\u6267\u884c\u6302\u8f7d\u64cd\u4f5c\uff0c\u4e5f\u4e0d\u80fd\u5bf9\u5f53\u524d\u7cfb\u7edf\u72b6\u6001\u9020\u6210\u5f71\u54cd\u3002</p>\n<p>\u6211\u6d4b\u8bd5\u8fc7\uff1a</p>\n<p>mount -a -v -f</p>\n<p>\u4ee5\u53ca\uff1a</p>\n<p>findmnt --verify --verbose</p>\n<p>\u4f46\u5b9e\u9645\u6d4b\u8bd5\u4e0b\u6765\uff0c\u8fd9\u4e24\u79cd\u65b9\u5f0f\u7684\u7ed3\u679c\u90fd\u65e0\u6cd5\u5b8c\u5168\u548c\u771f\u6b63\u6267\u884c\uff1a</p>\n<p>mount -a</p>\n<p>\u7684\u7ed3\u679c\u5bf9\u5e94\u8d77\u6765\u3002</p>\n<p>\u95ee\u9898\u5728\u4e8e\uff0c\u5927\u6279\u91cf\u751f\u4ea7\u4e3b\u673a\u53c8\u4e0d\u9002\u5408\u5728\u91cd\u542f\u524d\u76f4\u63a5\u6267\u884c mount -a \u3002</p>\n<p>\u56e0\u4e3a mount -a \u53ef\u80fd\u4f1a\u628a\u5f53\u524d\u672a\u6302\u8f7d\u7684\u6587\u4ef6\u7cfb\u7edf\u771f\u6b63\u6302\u8f7d\u8d77\u6765\uff0c\u4e5f\u53ef\u80fd\u4e3b\u52a8\u8bbf\u95ee NFS \u3001NAS \u7b49\u7f51\u7edc\u5b58\u50a8\uff0c\u751a\u81f3\u6539\u53d8\u5f53\u524d\u7cfb\u7edf\u72b6\u6001\u3002\u5728\u590d\u6742\u751f\u4ea7\u73af\u5883\u4e2d\uff0c\u8fd9\u79cd\u64cd\u4f5c\u6709\u53ef\u80fd\u4ea7\u751f\u989d\u5916\u5f71\u54cd\uff0c\u6781\u7aef\u60c5\u51b5\u4e0b\u751a\u81f3\u53ef\u80fd\u51fa\u73b0\u4e0d\u53ef\u9006\u7684\u95ee\u9898\u3002</p>\n<p>\u6240\u4ee5\u60f3\u8bf7\u6559\u4e00\u4e0b\u5927\u5bb6\uff1a</p>\n<p>\u6709\u6ca1\u6709\u4e00\u79cd\u76f8\u5bf9\u53ef\u9760\u7684\u65b9\u5f0f\uff0c\u53ef\u4ee5\u505a\u5230\uff1a</p>\n<p>\u4e0d\u5b9e\u9645 mount / umount\n\u4e0d\u4ea7\u751f\u771f\u5b9e\u5199\u5165\n\u4e0d\u6539\u53d8\u5f53\u524d\u7cfb\u7edf\u72b6\u6001\n\u5c3d\u91cf\u68c0\u67e5\u51fa\u8bbe\u5907\u3001UUID \u3001\u6587\u4ef6\u7cfb\u7edf\u7c7b\u578b\u3001\u6302\u8f7d\u53c2\u6570\u3001\u7f51\u7edc\u6302\u8f7d\u7b49\u95ee\u9898\n\u68c0\u67e5\u7ed3\u679c\u5c3d\u53ef\u80fd\u63a5\u8fd1\u771f\u5b9e\u7684 mount -a\n\u6700\u597d\u9002\u5408\u901a\u8fc7 Ansible \u3001Shell \u7b49\u65b9\u5f0f\u6279\u91cf\u6267\u884c</p>\n<p>\u6216\u8005\u5927\u5bb6\u5728\u505a\u5927\u89c4\u6a21 Linux \u4e3b\u673a\u8865\u4e01\u5347\u7ea7\u3001\u6279\u91cf\u91cd\u542f\u4e4b\u524d\uff0c\u901a\u5e38\u662f\u600e\u4e48\u5904\u7406 /etc/fstab \u98ce\u9669\u68c0\u67e5\u7684\uff1f</p>\n<p>\u611f\u89c9\u5355\u7eaf\u505a\u8bed\u6cd5\u68c0\u67e5\u8fd8\u4e0d\u591f\uff0c\u4f46\u771f\u6b63\u6267\u884c\u6302\u8f7d\u53c8\u98ce\u9669\u6bd4\u8f83\u5927\uff0c\u6240\u4ee5\u60f3\u770b\u770b\u6709\u6ca1\u6709\u6bd4\u8f83\u6210\u719f\u7684 pre-reboot check \u601d\u8def\u3002</p>\n<p>\u611f\u8c22\u3002</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/atzlinux", 
        "name": "atzlinux", 
        "avatar": "https://cdn.v2ex.com/avatar/09fc/01f9/394015_large.png?m=1608718422"
      }, 
      "url": "https://www.v2ex.com/t/1236561", 
      "title": "\u300a\u94dc\u8c4c\u8c46 Linux \u300b12.15.1 \u7248\u672c\u53d1\u5e03", 
      "id": "https://www.v2ex.com/t/1236561", 
      "date_published": "2026-08-23T06:44:59+00:00", 
      "content_html": "<p><a href=\"https://www.atzlinux.com/News/2026/20260822.htm\" rel=\"nofollow\">https://www.atzlinux.com/News/2026/20260822.htm</a></p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/falser101", 
        "name": "falser101", 
        "avatar": "https://cdn.v2ex.com/gravatar/aeb629d7082b7f2f166ed7da8ae0366f?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1235888", 
      "date_modified": "2026-08-20T07:08:41+00:00", 
      "content_html": "<p>Arch \u4e0a\u53ef\u4ee5\u7528\u5b98\u65b9 Grok Bot Linux \u5ba2\u6237\u7aef\u4e86\uff08\u9700 SuperGrok Heavy / Cursor Ultra / Cursor Teams Premium \uff09\uff1a</p>\n<p><a href=\"https://aur.archlinux.org/packages/grok-bot-bin\" rel=\"nofollow\">https://aur.archlinux.org/packages/grok-bot-bin</a></p>\n<pre><code>yay -S grok-bot-bin\n</code></pre>\n<p>\u8fd9\u662f Cursor \u81ea\u5df1\u7684 0.20.0 .deb \uff0c\u4e0d\u662f\u793e\u533a\u4ece Windows \u7248\u79fb\u690d\u7684\u3002\u6587\u6863\u867d\u7136\u5199\u4e0d\u652f\u6301 Linux \uff0c\u4f46\u662f\u53ef\u4ee5\u4e0b\u8f7d</p>\n<p>\u8fd9\u662f\u4e0b\u8f7d\u94fe\u63a5\uff1a <a href=\"https://downloads.cursor.com/grokbot/stable/ca2c2b6f79b6130a4822d8189711b0f79f9d4661/linux/x64/Grok_Bot_0.20.0.deb\" rel=\"nofollow\">https://downloads.cursor.com/grokbot/stable/ca2c2b6f79b6130a4822d8189711b0f79f9d4661/linux/x64/Grok_Bot_0.20.0.deb</a></p>\n", 
      "date_published": "2026-08-20T07:07:56+00:00", 
      "title": "Grok-Bot Linux \u539f\u751f 0.20.0 \u7248\u672c", 
      "id": "https://www.v2ex.com/t/1235888"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/ko20", 
        "name": "ko20", 
        "avatar": "https://cdn.v2ex.com/avatar/85c3/656c/599998_large.png?m=1747099205"
      }, 
      "url": "https://www.v2ex.com/t/1235328", 
      "title": "\u501f\u52a9\u8bed\u97f3\u5927\u6a21\u578b\uff0c\u5b9e\u73b0 Linux \u4e0b\u7684\u8bed\u97f3\u8f93\u5165\uff0c\u9080\u8bf7 Linux \u684c\u9762\u7528\u6237\u8bd5\u8bd5", 
      "id": "https://www.v2ex.com/t/1235328", 
      "date_published": "2026-08-18T07:58:19+00:00", 
      "content_html": "<p>\u8d77\u56e0\u662f\u6628\u5929\u4e0b\u5348\u770b\u5230 IT \u4e4b\u5bb6\u8fd9\u4e2a\u65b0\u95fb\uff1a</p>\n<blockquote>\n<p>\u8bc6\u522b\u3001\u5408\u6210\u3001\u5b9e\u65f6\u4ea4\u4e92\u5168\u7403\u7b2c\u4e00\uff0cQwen-Audio-3.0 \u7cfb\u5217\u8bed\u97f3\u6a21\u578b\u4e0a\u7ebf\u963f\u91cc\u5343\u95ee AI \u5e73\u53f0   <a href=\"https://www.ithome.com/0/990/679.htm\" rel=\"nofollow\">https://www.ithome.com/0/990/679.htm</a></p>\n</blockquote>\n<p>\u4e8e\u662f\u6211\u641e\u4e86\u4e00\u5957\u9002\u7528\u4e8e\u5927\u90e8\u5206 linux \u53d1\u884c\u7248\u548c\u684c\u9762\u73af\u5883\u7684\u6d41\u7a0b\u3002\u5e73\u53f0\u9001\u4e86 36000s \uff08\u6709\u6548\u671f 3 \u4e2a\u6708\uff09\uff0c\u5230\u671f\u540e\u7684\u8bdd\uff0c\u6211\u770b\u4e86\u4e00\u4e0b\u4ef7\u683c\u662f\u6bcf\u79d2 0.00022 \u5143</p>\n<p>\u4ee3\u7801\u5f00\u6e90\u5728 <a href=\"https://github.com/hellodk34/voice_input_linux\" rel=\"nofollow\">\u8fd9\u91cc</a></p>\n<p>\u622a\u56fe\u5982\u4e0b\uff0c\u9080\u8bf7\u7528 linux \u684c\u9762\u7684\u670b\u53cb\u4eec\u6765\u8bd5\u8bd5\u3002\u6709\u7528\u7684\u8bdd\u7559\u4e2a\u2b50\u5440\u3002\u8fd9\u5957 flow \u4e2a\u4eba\u611f\u89c9\u5728 linux \u684c\u9762\u73af\u5883\u5f88\u8f7b\u91cf\uff0c\u4ee5\u540e\u66f4\u6362\u6a21\u578b\u4e5f\u5f88\u7b80\u5355\uff0c\u7a0d\u5fae\u9002\u914d\u4e00\u4e0b\u5c31\u53ef\u4ee5\u4e86\u3002</p>\n<p><img alt=\"demo.webp\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://image.940304.xyz/i/2026/08/18/6a840fd03cb92.webp\"/></p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/v2webdev", 
        "name": "v2webdev", 
        "avatar": "https://cdn.v2ex.com/avatar/eb79/2672/461393_large.png?m=1657045838"
      }, 
      "url": "https://www.v2ex.com/t/1234773", 
      "title": "RustDesk \u73b0\u5df2\u652f\u6301 Wayland \u65e0\u4eba\u503c\u5b88\u8fdc\u7a0b\u8bbf\u95ee", 
      "id": "https://www.v2ex.com/t/1234773", 
      "date_published": "2026-08-16T09:56:33+00:00", 
      "content_html": "[RustDesk now supports true unattended remote access on Wayland | Hacker News]( <a target=\"_blank\" href=\"https://news.ycombinator.com/item?id=49300759\" rel=\"nofollow noopener\">https://news.ycombinator.com/item?id=49300759</a>)<br /><br />[Unattended Remote Access on Wayland with RustDesk \u2014 RustDesk]( <a target=\"_blank\" href=\"https://rustdesk.com/blog/unattended-remote-access-wayland/\" rel=\"nofollow noopener\">https://rustdesk.com/blog/unattended-remote-access-wayland/</a>)"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/siys", 
        "name": "siys", 
        "avatar": "https://cdn.v2ex.com/avatar/7be6/2f60/446653_large.png?m=1589281264"
      }, 
      "url": "https://www.v2ex.com/t/1233928", 
      "date_modified": "2026-08-13T07:46:47+00:00", 
      "content_html": "", 
      "date_published": "2026-08-12T12:27:12+00:00", 
      "title": "\u770b\u5230 AI \u8ba9 Linux \u53d8\u5f97\u771f\u6b63\u53ef\u7528\u4e86\u5e16\u5b50\uff0c\u60f3\u95ee\u4e0b\u73b0\u5728\u6700\u63a8\u8350\u7684\u662f Linux \u53d1\u884c\u7248\u662f\u54ea\u4e2a\u5462", 
      "id": "https://www.v2ex.com/t/1233928"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/dlyxy", 
        "name": "dlyxy", 
        "avatar": "https://cdn.v2ex.com/gravatar/cd568b9a20f9e080ea6a73cec6f20a7a?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1233912", 
      "title": "AI \u8ba9 Linux \u53d8\u5f97\u771f\u6b63\u53ef\u7528\u4e86", 
      "id": "https://www.v2ex.com/t/1233912", 
      "date_published": "2026-08-12T10:35:43+00:00", 
      "content_html": "<p>\u4ee5\u524d Linux \u6700\u4e0d\u597d\u7528\u7684\u5730\u65b9\u5c31\u662f\u5404\u79cd\u786c\u4ef6\u9002\u914d\u4ee5\u53ca\u8f6f\u4ef6\u5c0f\u95ee\u9898\uff0c\u5c24\u5176\u662f\u5728 DE \u73af\u5883\u91cc\u3002</p>\n<p>\u6700\u8fd1\u56e0\u4e3a\u8001\u7684 Surface Pro 5 \u7528 Windows \u5b9e\u5728\u5361\uff0c\u6362 Linux \u770b\u80fd\u4e0d\u80fd\u7eed\u4e00\u6ce2\u547d\u3002linux-surface \u8fd9\u4e2a\u9879\u76ee\u5f88\u68d2\uff0c\u89e3\u51b3\u4e86\u5f88\u591a\u9a71\u52a8\u95ee\u9898\uff0c\u4f46\u6211\u88c5\u4e86 debian-xfce \u4e4b\u540e\u8fd8\u662f\u6709\u51e0\u4e2a\u5c0f\u95ee\u9898\uff0c\u5305\u62ec Surface pen \u8bc6\u522b\uff0c\u5c4f\u5e55\u81ea\u52a8\u65cb\u8f6c\uff0c\u7535\u6e90\u952e\u4f11\u7720\uff0c\u4e0d\u8fc7\u90fd\u76f4\u63a5\u7528 opencode \u514d\u8d39\u7684 ds-v4-flash \u89e3\u51b3\u4e86\uff0c\u5168\u7a0b\u4e5f\u4e0d\u9700\u8981\u8fc7\u591a\u63d0\u793a\u3002</p>\n<p>\u9664\u6b64\u4e4b\u5916\uff0cLinux \u4e0a\u4e5f\u7f3a\u4e00\u4e2a\u5f88\u597d\u7528\u7684 PDF \u624b\u5199\u6807\u6ce8\u8f6f\u4ef6\uff0c\u5c24\u5176\u662f\u8ddf Surface pen \u9002\u914d\u7684\u3002\uff08\u5176\u5b9e\u6211\u5728 win \u4e0a\u4e5f\u6ca1\u53d1\u73b0\u7279\u522b\u597d\u7528\u7684\uff0cdrawboard-pdf \u6211\u4e00\u76f4\u6253\u4e0d\u5f00\u3002\uff09\u8fd9\u4e24\u5929\u76f4\u63a5\u8ba9 opencode \u5e2e\u6211\u6539\u4e86\u4e00\u4e0b okular \uff0c\u52a0\u4e86\u7b14\u7684\u9002\u914d\uff0c\u5927\u6982\u4e00\u4e2a\u5c0f\u65f6\u5de6\u53f3\u5c31\u6d4b\u8bd5\u597d\u7528\u4e86\u3002</p>\n<p>\u611f\u89c9 AI \u5df2\u7ecf\u5f88\u5927\u7a0b\u5ea6\u89e3\u51b3\u4e86 Linux DE \u7684\u95ee\u9898\uff0c\u540e\u7eed\u6709\u4e86\u66f4\u591a AI \u684c\u9762\u52a9\u7406\u4e4b\u540e\u5e94\u8be5\u4f1a\u66f4\u597d\u7528\u3002</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/MarMDJtin", 
        "name": "MarMDJtin", 
        "avatar": "https://cdn.v2ex.com/gravatar/c2e6b8886ef81c4f802e26f102342235?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1233875", 
      "date_modified": "2026-08-12T08:31:09+00:00", 
      "content_html": "\u6700\u8fd1\u7ed9 Noctalia \u5199\u4e86\u4e00\u4e2a Mihomo Control \u63d2\u4ef6\uff0c\u5e0c\u671b\u4f7f\u7528 Noctalia + Clash/Mihomo \u7684\u670b\u53cb\u53ef\u4ee5\u5c11\u5f00\u4e00\u4e2a\u7ba1\u7406\u9875\u9762\u3002<br /><br />\u5b83\u4e0d\u662f\u65b0\u7684\u4ee3\u7406\u5185\u6838\uff0c\u4e5f\u4e0d\u4f1a\u63a5\u7ba1\u6216\u4fee\u6539 Mihomo \u914d\u7f6e\u3002Mihomo \u7ee7\u7eed\u8d1f\u8d23\u4ee3\u7406\u3001\u89c4\u5219\u548c\u8ba2\u9605\uff0c\u63d2\u4ef6\u53ea\u901a\u8fc7 External Controller API \u63d0\u4f9b\u5e38\u7528\u64cd\u4f5c\u3002<br /><br />\u76ee\u524d\u652f\u6301\uff1a<br /><br />- \u72b6\u6001\u680f\u663e\u793a\u8fde\u63a5\u72b6\u6001\u3001\u4ee3\u7406\u6a21\u5f0f\u548c\u5b9e\u65f6\u4e0a\u4e0b\u884c\u6d41\u91cf<br />- \u67e5\u770b\u8fde\u63a5\u6570\u91cf\u3001\u6d41\u91cf\u7edf\u8ba1\u548c\u5185\u5b58\u5360\u7528<br />- \u5207\u6362 Rule / Global / Direct \u6a21\u5f0f<br />- \u67e5\u770b\u6240\u6709\u4ee3\u7406\u7ec4\u53ca\u5f53\u524d\u8282\u70b9<br />- \u5c55\u5f00\u4ee3\u7406\u7ec4\u5e76\u76f4\u63a5\u5207\u6362\u8282\u70b9<br />- \u663e\u793a\u8282\u70b9\u5ef6\u8fdf<br />- \u5355\u72ec\u6d4b\u8bd5\u67d0\u4e2a\u4ee3\u7406\u7ec4\uff0c\u6216\u4e00\u952e\u6d4b\u8bd5\u5168\u90e8<br />- \u91cd\u542f Mihomo<br />- Control Center \u5feb\u6377\u5f00\u5173<br />- \u652f\u6301\u672c\u673a\u6216\u8fdc\u7a0b Controller<br />- \u652f\u6301 HTTP \u3001HTTPS \u4ee5\u53ca\u81ea\u7b7e\u540d\u8bc1\u4e66<br /><br />\u4f7f\u7528\u524d\u9700\u8981\u786e\u4fdd Mihomo \u5df2\u5f00\u542f External Controller \uff0c\u4f8b\u5982\uff1a<br /><br />```yaml<br />external-controller: 127.0.0.1:9090<br />secret: your-secret<br />```<br /><br />\u7136\u540e\u5728\u63d2\u4ef6\u8bbe\u7f6e\u4e2d\u586b\u5199 Host \u3001Port \u548c Secret \uff0c\u542f\u7528 `service`\uff0c\u518d\u628a\u7ec4\u4ef6\u6dfb\u52a0\u5230 Noctalia \u72b6\u6001\u680f\u5373\u53ef\u3002<br /><br />\u5982\u679c Controller \u66b4\u9732\u5230\u5c40\u57df\u7f51\u6216\u516c\u7f51\uff0c\u5efa\u8bae\u52a1\u5fc5\u914d\u7f6e Secret \uff0c\u5e76\u901a\u8fc7 HTTPS \u6216\u53cd\u5411\u4ee3\u7406\u8bbf\u95ee\u3002<br /><br />\u76ee\u524d\u63d2\u4ef6\u672c\u4f53\u7684 PR \u8fd8\u5728 review \u3002\u5408\u5e76\u540e\u53ef\u4ee5\u76f4\u63a5\u4ece Noctalia Community Plugins \u5b89\u88c5\u3002\u62d6\u62fd\u6392\u5e8f\u4f1a\u5728\u524d\u4e00\u4e2a PR \u5408\u5e76\u540e\u5355\u72ec\u63d0\u4ea4\u3002<br /><br />\u9879\u76ee\u5730\u5740\uff1a<br /><br /><a target=\"_blank\" href=\"https://github.com/noctalia-dev/community-plugins/tree/main/mihomo-control\" rel=\"nofollow noopener\">https://github.com/noctalia-dev/community-plugins/tree/main/mihomo-control</a><br /><br /><a target=\"_blank\" href=\"https://i.imgur.com/wrZvb2G.png\" rel=\"nofollow noopener\" target=\"_blank\"><img src=\"https://i.imgur.com/wrZvb2G.png\" class=\"embedded_image\" rel=\"noreferrer\"></a><br /><br />\u5982\u679c\u5927\u5bb6\u6b63\u5728\u4f7f\u7528 Noctalia \u548c Mihomo \uff0c\u6b22\u8fce\u8bd5\u7528\u5e76\u53cd\u9988\u3002\u4e0d\u540c Clash GUI \u5bf9 External Controller \u7684\u5f00\u653e\u65b9\u5f0f\u53ef\u80fd\u4e0d\u540c\uff0c\u5982\u679c\u9047\u5230\u517c\u5bb9\u95ee\u9898\uff0c\u4e5f\u6b22\u8fce\u63d0\u4f9b\u5ba2\u6237\u7aef\u540d\u79f0\u548c Mihomo \u7248\u672c\u3002", 
      "date_published": "2026-08-12T08:29:45+00:00", 
      "title": "\u7ed9 Noctalia \u505a\u4e86\u4e00\u4e2a Mihomo / Clash \u63a7\u5236\u63d2\u4ef6", 
      "id": "https://www.v2ex.com/t/1233875"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/panzhc", 
        "name": "panzhc", 
        "avatar": "https://cdn.v2ex.com/avatar/9f21/01dd/16910_large.png?m=1713717987"
      }, 
      "url": "https://www.v2ex.com/t/1231845", 
      "title": "\u7528\u8d77\u6765\u6bd4\u8f83\u8212\u670d\u7684 Linux \u684c\u9762 Niri+DankMaterialShell", 
      "id": "https://www.v2ex.com/t/1231845", 
      "date_published": "2026-08-03T13:40:34+00:00", 
      "content_html": "<p>\u7528\u4e86\u597d\u51e0\u5e74 i3wm \uff0c\u5f88\u591a\u81ea\u5b9a\u4e49\u914d\u7f6e\u65e9\u5df2\u4e60\u60ef \u3002\n\u6700\u8fd1\u597d\u4e0d\u5bb9\u6613\u9f13\u8d77\u52c7\u6c14\u5207\u6362\u5230\u4e86 Hyprland \uff0c\u4e00\u5f00\u59cb\u611f\u89c9\u662f\u6bd4 i3wm \u987a\u7545\uff0c\u4f46\u968f\u7740\u4f7f\u7528\u6df1\u5165\uff0c\u53d1\u73b0\u5404\u79cd\u5c0f\u95ee\u9898\u6709\u70b9\u591a\uff0c\u7279\u522b\u662f\u9489\u9489\uff0c\u65e5\u5e38\u529e\u516c\u5fc5\u987b\u3002\n\u4e8e\u662f\u53c8\u5c1d\u8bd5\u4e86 Sway \u3001Niri \uff0c\u5728\u7528 Niri \u7684\u65f6\u5019\u53d1\u73b0\u4e86 DankMaterialShell \uff0c\u518d\u4e5f\u4e0d\u9700\u8981\u8c03\u8bd5\u72b6\u6001\u680f\u3001\u9501\u5c4f\u3001\u542f\u52a8\u5668\u7b49\u7b49\u4e00\u5806\u5de5\u5177\u4e86\u3002\nNiri + DankMaterialShell \u66f4\u6574\u4f53\u66f4\u73b0\u4ee3\uff0c\u8fde\u9489\u9489\u7684\u8868\u73b0\u4e5f\u597d\u4e86\u5f88\u591a\uff08\u867d\u7136\u8fd8\u662f\u6709\u5c0f\u95ee\u9898\uff09\u3002</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/insert000", 
        "name": "insert000", 
        "avatar": "https://cdn.v2ex.com/avatar/347c/a166/349560_large.png?m=1784958765"
      }, 
      "url": "https://www.v2ex.com/t/1229500", 
      "title": "Linux \u8f93\u5165\u6cd5\u6c42\u52a9", 
      "id": "https://www.v2ex.com/t/1229500", 
      "date_published": "2026-07-24T03:06:31+00:00", 
      "content_html": "\u73af\u5883\uff1aDebian 13 + GNOME Wayland  <br />\u73b0\u8c61\uff1afcitx5-pinyin \u7a33\u5b9a\uff0c\u4e2d\u5dde\u97f5+\u4e07\u8c61 \u95f4\u6b47\u6027\u5207\u4e0d\u51fa\u4e2d\u6587\u3001\u5019\u9009\u6846\u6d88\u5931\u3001\u8f93\u5165\u76f4\u63a5\u51fa\u82f1\u6587\uff0c\u91cd\u542f\u4e2d\u5dde\u97f5\u4e5f\u65e0\u6cd5\u89e3\u51b3\u3002"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/675076143robin", 
        "name": "675076143robin", 
        "avatar": "https://cdn.v2ex.com/gravatar/9076d3e619c6c8c51a9b422a824503cd?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1229296", 
      "title": "\u5317\u901a\u624b\u67c4 Linux USB \u65ad\u8fde\u6392\u67e5\u4e0e\u4fee\u590d", 
      "id": "https://www.v2ex.com/t/1229296", 
      "date_published": "2026-07-23T07:05:25+00:00", 
      "content_html": "<pre><code>\ud83d\ude80\u7b2c\u4e00\u7bc7\u6c34\u8d34\n\n\u4e00\u5f00\u59cb\u53ea\u662f\u60f3\u8ba9 archlinux \u80fd 2.4g \u8fde\u4e0a\u6211\u7684\u5317\u901a\u624b\u67c4\n\n\u4ece\u786c\u4ef6\u67e5\u5230\u9a71\u52a8\uff0c\u4ece usb \u67e5\u5230 xpad\n\n\u5f53\u6211\u89e3\u51b3\u5b8c\u5e76\u63a8\u9001\u5230 aur \u4ed3\u5e93\u7684\u65f6\u5019\uff0c\u5979\u8bf4\u8981\u53bb\u627e\u4e2a\u7528 windows \u7684\n\nfk Microsoft \uff01\n</code></pre>\n<p><a href=\"https://www.reddit.com/r/linuxsucks/comments/1k6e9th/i_lost_my_wife_because_of_linux\" rel=\"nofollow\">https://www.reddit.com/r/linuxsucks/comments/1k6e9th/i_lost_my_wife_because_of_linux</a></p>\n<h1>\u5317\u901a\u624b\u67c4 Linux USB \u65ad\u8fde\u6392\u67e5\u4e0e\u4fee\u590d</h1>\n<h2>\u75c7\u72b6</h2>\n<p>\u5317\u901a BTP-KP40A \u624b\u67c4\u901a\u8fc7 2.4G \u65e0\u7ebf\u63a5\u6536\u5668\u8fde\u63a5 Linux \u65f6\uff0cUSB \u8bbe\u5907\u6bcf ~1 \u79d2\u65ad\u5f00\u91cd\u8fde\u4e00\u6b21\u3002\u84dd\u7259\u6a21\u5f0f\u6b63\u5e38\uff0c\u6709\u7ebf USB \u6b63\u5e38\uff08\u8bc6\u522b\u4e3a Switch \u624b\u67c4\uff09\uff0cWindows \u4e0a 2.4G \u4e5f\u6b63\u5e38\u3002</p>\n<h2>\u6392\u67e5\u8fc7\u7a0b</h2>\n<h3>\u7b2c\u4e00\u6b65\uff1a\u6392\u9664\u786c\u4ef6</h3>\n<p>\u628a\u63a5\u6536\u5668\u6362\u5230\u4e0d\u540c USB \u7aef\u53e3\uff08 2.0/3.0 \uff0c\u76f4\u8fde\u4e3b\u677f/Hub \uff09\uff0c\u95ee\u9898\u4f9d\u65e7\u3002\u624b\u67c4\u5728 Windows \u4e0a\u540c\u7aef\u53e3\u6b63\u5e38\u5de5\u4f5c\uff0c\u786e\u8ba4\u662f Linux \u4fa7\u7684\u95ee\u9898\u3002</p>\n<h3>\u7b2c\u4e8c\u6b65\uff1a\u6392\u9664\u9a71\u52a8</h3>\n<ul>\n<li>\u5378\u8f7d <code>xpad</code> \u6a21\u5757 \u2014 \u4ecd\u7136\u65ad\u8fde</li>\n<li>\u7981\u7528 USB autosuspend \u2014 \u65e0\u6548</li>\n<li>\u5c1d\u8bd5\u6240\u6709 <code>usbcore.quirks</code> \u7ec4\u5408 \u2014 \u65e0\u6548</li>\n<li>\u5b89\u88c5 <code>xboxdrv</code>\uff08 libusb \u7ed5\u8fc7\u5185\u6838\u9a71\u52a8\uff09 \u2014 \u4ecd\u7136\u65ad\u8fde</li>\n</ul>\n<p>usbmon \u6293\u5305\u663e\u793a\u5185\u6838\u53d1\u9001 <code>SET_CONFIGURATION(0) \u2192 SET_CONFIGURATION(1)</code> \u5e8f\u5217\uff0c\u8bbe\u5907 ~770ms \u540e USB \u65ad\u5f00\u3002\u8fd9\u4e2a\u6a21\u5f0f\u770b\u8d77\u6765\u50cf kernel \u5728\u91cd\u7f6e\u8bbe\u5907\uff0c\u4f46\u5b9e\u9645\u539f\u56e0\u662f\u2014\u2014<strong>\u56fa\u4ef6\u81ea\u5df1\u5728\u65ad\u5f00</strong>\u3002</p>\n<h3>\u7b2c\u4e09\u6b65\uff1aArch Wiki \u7ebf\u7d22</h3>\n<p>\u67e5\u5230 <a href=\"https://wiki.archlinux.org/title/Gamepad\" rel=\"nofollow\">Arch Wiki Gamepad \u9875</a> \u7684 ShanWan \u4e13\u8282\uff0c\u63d0\u5230\u7c7b\u4f3c\u95ee\u9898\u3002\u4f46\u6240\u6709\u5df2\u77e5 quirk \u65b9\u6848\u5bf9\u6211\u7684 <code>20bc:5127</code> \u65e0\u6548\u3002</p>\n<h2>\u771f\u6b63\u539f\u56e0</h2>\n<p>\u8865\u4e01\u4f5c\u8005 Zixing Liu \u5728 <a href=\"https://lore.kernel.org/linux-input/20260102030154.197749-2-liushuyu@aosc.io/\" rel=\"nofollow\">linux-input \u90ae\u4ef6\u5217\u8868</a> \u4e2d\u89e3\u91ca\uff1a</p>\n<blockquote>\n<p>\"This series of controllers will try to see if specific Xbox One packets were sent during the probing phase and will power-cycle themselves when they fail to see these packets.\"</p>\n</blockquote>\n<p>\u5317\u901a/ShanWan \u7684\u56fa\u4ef6\u5728\u521d\u59cb\u5316\u9636\u6bb5\u68c0\u6d4b\u4e3b\u673a\u64cd\u4f5c\u7cfb\u7edf\u3002\u5b83\u7b49\u5f85\u4e3b\u673a\u53d1\u9001 Xbox One GIP \uff08 Game Input Protocol \uff09\u534f\u8bae\u5305\uff08 ACK + ANNOUNCE \uff09\u3002\u5982\u679c ~1 \u79d2\u5185\u6ca1\u6536\u5230\uff0c\u56fa\u4ef6\u5c31\u65ad\u5f00 USB \u91cd\u8fde\uff0c\u5c1d\u8bd5\u4e0b\u4e00\u6b21\u3002\u8d85\u8fc7 3 \u6b21\u540e\u5207\u6362\u5230\u4e0b\u4e00\u4e2a\u8f93\u5165\u6a21\u5f0f\uff08\u6bd4\u5982 Switch \u6a21\u5f0f\uff0c\u5373 <code>20dd:5127</code> DONGLE \u6a21\u5f0f\uff09\u3002</p>\n<p>Windows \u4e0a\u80fd\u5de5\u4f5c\u662f\u56e0\u4e3a Xbox \u9a71\u52a8\u4f1a\u53d1\u8fd9\u4e9b\u5305\u3002Linux \u7684 <code>xpad</code> \u9a71\u52a8\u548c <code>xboxdrv</code> \u90fd\u4e0d\u4f1a\u53d1\uff0c\u6240\u4ee5\u56fa\u4ef6\u8ba4\u4e3a\u4e3b\u673a\u4e0d\u662f Windows \uff0c\u4e3b\u52a8\u65ad\u5f00\u3002</p>\n<h2>\u4fee\u590d</h2>\n<p>Zixing Liu \u63d0\u4ea4\u4e86\u8865\u4e01\uff0c\u5728 <code>xpad</code> \u9a71\u52a8\u4e2d\u6dfb\u52a0 <code>FLAG_FORCE_INIT</code> \u6807\u5fd7\u3002\u5bf9 Beitong KP \u7cfb\u5217\u8bbe\u5907\uff0c\u5728\u63a2\u6d4b\u9636\u6bb5\u53d1\u9001 4 \u4e2a GIP \u521d\u59cb\u5316\u5305\uff1a</p>\n<pre><code>ACK \u2192 ANNOUNCE \u2192 ACK \u2192 ACK\n</code></pre>\n<p>\u56fa\u4ef6\u6536\u5230\u8fd9\u4e9b\u5305\u540e\uff0c\u786e\u8ba4\u4e3b\u673a\u662f Xbox/Windows \u9a71\u52a8\uff0c\u7a33\u5b9a\u5de5\u4f5c\u5728 XINPUT \u6a21\u5f0f\uff0c\u4e0d\u518d\u65ad\u8fde\u3002</p>\n<h2>\u8865\u4e01\u5b89\u88c5</h2>\n<p>\u6211\u5df2\u5c06\u5b83\u505a\u6210\u4e86 DKMS \u5305\uff0cAUR \u53ef\u76f4\u63a5\u5b89\u88c5\uff1a</p>\n<pre><code class=\"language-bash\">yay -S xpad-beitong-dkms\n</code></pre>\n<p>\u5185\u6838\u66f4\u65b0\u540e DKMS \u4f1a\u81ea\u52a8\u91cd\u5efa\u6a21\u5757\u3002</p>\n<p><strong>\u6ce8\u610f\uff1a\u8fd9\u662f\u4e34\u65f6\u65b9\u6848\u3002</strong> \u8865\u4e01\u5df2\u7531\u4f5c\u8005\u63d0\u4ea4\u5230 linux-input \u90ae\u4ef6\u5217\u8868\uff08 v3 \uff0c2026-07-17 \uff09\uff0creview \u901a\u8fc7\u540e\u5c06\u5408\u5165\u4e3b\u7ebf\u3002\u9884\u8ba1 Linux 7.3 \u6216\u540e\u7eed rc \u7248\u672c\u4f1a\u5305\u542b\u6b64\u4fee\u590d\uff0c\u5c4a\u65f6 DKMS \u5305\u5373\u53ef\u5f03\u7528\uff0c\u76f4\u63a5\u5347\u7ea7\u5185\u6838\u5373\u53ef\u3002</p>\n<h2>\u540e\u8bb0</h2>\n<p>\u8fd9\u4e2a\u95ee\u9898\u7684\u6392\u67e5\u82b1\u4e86\u5f88\u957f\u65f6\u95f4\uff0c\u56e0\u4e3a\u4e00\u5f00\u59cb\u65b9\u5411\u9519\u4e86\u3002usbmon \u663e\u793a USB \u5c42 <code>SET_CONFIGURATION</code> \u91cd\u914d\u7f6e\uff0c\u5f88\u5bb9\u6613\u4ee5\u4e3a\u662f USB xHCI \u9a71\u52a8\u7684\u517c\u5bb9\u6027\u95ee\u9898\u3002\u4f46\u5b9e\u9645\u4e0a disconnect \u662f\u56fa\u4ef6\u4e3b\u52a8\u89e6\u53d1\u7684\uff0c\u4e0d\u662f USB \u6838\u5fc3\u5c42\u7684 bug \u3002</p>\n<p>\u56de\u5934\u770b\uff0c\u7ebf\u7d22\u5176\u5b9e\u5728 usbmon \u6570\u636e\u91cc\uff1a\u65ad\u5f00\u524d\u6ca1\u6709 USB \u9519\u8bef\uff08\u6ca1\u6709 -71 EPROTO \uff09\uff0c\u8bbe\u5907\u662f\u81ea\u5df1\"\u4f18\u96c5\"\u65ad\u5f00\u7684\u3002\u4f46\u5f53\u65f6\u6ca1\u610f\u8bc6\u5230\u8fd9\u662f\u56fa\u4ef6\u7684\u4e3b\u52a8\u884c\u4e3a\u3002</p>\n<p>\u53e6\u4e00\u4e2a\u6559\u8bad\u662f\uff1aArch Wiki \u867d\u7136\u63d0\u5230\u4e86 ShanWan \u56fa\u4ef6\u95ee\u9898\uff0c\u4f46\u7ed9\u7684 quirk \u65b9\u6848\u9488\u5bf9\u7684\u662f\u5176\u4ed6\u578b\u53f7\u3002\u4e0d\u540c\u7684 ShanWan \u63a5\u6536\u5668\u884c\u4e3a\u5dee\u5f02\u5f88\u5927\uff0c\u9700\u8981\u5177\u4f53\u5206\u6790\u3002</p>\n<p>\u6700\u540e\u611f\u8c22 Zixing Liu \u5199\u7684\u8865\u4e01\uff0c\u4ee5\u53ca linux-input \u90ae\u4ef6\u5217\u8868\u4e0a\u7684\u8ba8\u8bba\u3002</p>\n<h2>\u94fe\u63a5</h2>\n<ul>\n<li><a href=\"https://github.com/675076143/xpad-beitong-dkms\" rel=\"nofollow\">xpad-beitong-dkms (GitHub)</a></li>\n<li><a href=\"https://aur.archlinux.org/packages/xpad-beitong-dkms/\" rel=\"nofollow\">xpad-beitong-dkms (AUR)</a></li>\n<li><a href=\"https://lore.kernel.org/linux-input/20260102030154.197749-2-liushuyu@aosc.io/\" rel=\"nofollow\">Patch cover letter (lore.kernel.org)</a></li>\n</ul>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/c2r5", 
        "name": "c2r5", 
        "avatar": "https://cdn.v2ex.com/avatar/9a7d/c851/219451_large.png?m=1488875602"
      }, 
      "url": "https://www.v2ex.com/t/1228798", 
      "title": "\u8bf7\u95ee\uff1a Linux \u7cfb\u7edf\u4e0b\uff0c\u6709\u6ca1\u6709\u597d\u7528\u7684 [\u67e5\u627e\u91cd\u590d\u6587\u4ef6] \u7684\u8f6f\u4ef6\uff1f", 
      "id": "https://www.v2ex.com/t/1228798", 
      "date_published": "2026-07-21T05:37:50+00:00", 
      "content_html": "<p>\u5728 Windows \u4e2d\uff0c\u67e5\u627e\u91cd\u590d\u6587\u4ef6\uff0c\u4e00\u76f4\u4ee5\u6765\uff0c\u6211\u4f7f\u7528\u7684\uff0c\u662f\u4e00\u6b3e\u540d\u4e3a [ NoClone ] \u7684\u8f6f\u4ef6\u3002\u5b83\u662f\u4ee5\u4e8c\u8fdb\u5236\u5bf9\u6bd4\u7684\u65b9\u5f0f\uff0c\u67e5\u627e\u51fa [\u6587\u4ef6\u5185\u5bb9] \u5b8c\u5168\u4e00\u6837\u7684\u6587\u4ef6\uff0c\u54ea\u6015\u4f60\u628a\u5176\u4e2d\u7684\u4e00\u4e2a\u6587\u4ef6\u7684 [\u6587\u4ef6\u540d] \u548c [\u6269\u5c55\u540d] \u5168\u90fd\u66f4\u6539\u4e86\uff0c [ NoClone ] \u8fd9\u4e2a\u8f6f\u4ef6\uff0c\u4e5f\u80fd\u628a\u5b83\u8bc6\u522b\u51fa\u6765\u3002\u5f53\u7136\uff0c [ NoClone ] \u8bc6\u522b\u8bc6\u522b\u51fa\u6765\u7684\u91cd\u590d\u6587\u4ef6\uff0c\u5b83\u4eec\u7684\u54c8\u5e0c\u503c\uff0c\u5b9e\u9645\u4e0a\uff0c\u4e5f\u662f\u4e00\u6837\u7684\u3002</p>\n<p>\u6700\u8fd1\uff0c\u6211\u5f00\u59cb\u63a5\u89e6 Ubuntu \uff0c\u6211\u60f3\u8bf7\u95ee\u4e00\u4e0b\uff0c\u5728 Linux \u4e2d\uff0c\u7279\u522b\u662f\u5728 Ubuntu \u4e2d\uff0c\u6ca1\u6709\u7c7b\u4f3c\u4e8e NoClone \u8fd9\u6837\u7684\u8f6f\u4ef6\uff1f</p>\n<p>\u8bf7\u4e86\u89e3\u8fd9\u65b9\u9762\u7684\u5927\u4f6c\uff0c\u63a8\u8350\u51e0\u4e2a\u8f6f\u4ef6\u3002</p>\n<p>\u8c22\u8c22\uff01</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/asilin", 
        "name": "asilin", 
        "avatar": "https://cdn.v2ex.com/avatar/b548/5d6e/221645_large.png?m=1766043233"
      }, 
      "url": "https://www.v2ex.com/t/1228447", 
      "date_modified": "2026-07-20T03:26:28+00:00", 
      "content_html": "<p>\u7531\u4e8e\u6211\u7684\u7cfb\u7edf\u662f\u9b54\u6539\u7684 Ubuntu 16.04 + Kernel 6.19 + Mesa 25.1.4 + libva 2.11 + Firefox 152(\u53c2\u8003\uff1a <a href=\"https://v2ex.com/t/1179778\" rel=\"nofollow\">https://v2ex.com/t/1179778</a>  ),  \u6700\u8fd1\u7a81\u7136\u53d1\u73b0\u673a\u5668\u7ecf\u5e38\u5361\u987f\uff0c\u6700\u7ec8\u5b9a\u4f4d\u53d1\u73b0\u64ad\u653e\u67d0\u4e00\u4e2a\u6296\u97f3\u89c6\u9891\uff08\u300a\u5f52\u589f\u300b \u7b2c\u4e00\u5b63 1-9 \u5408\u96c6\uff09\u65f6\uff0c\u7acb\u9a6c\u51fa\u53d1 AMDGPU VCNU \u56fa\u4ef6\u62a5\u9519\uff0c\u4e25\u91cd\u65f6\u663e\u5361\u5931\u53bb\u54cd\u5e94\uff0c\u9700\u8981\u5f3a\u5236\u65ad\u7535\u91cd\u542f\u3002</p>\n<p>\u55ef\uff0c\u8fd9\u4e5f\u7b97\u4e00\u79cd Linux \u201c\u653b\u51fb\u201d\u5427\ud83d\ude01\uff0c\u901a\u8fc7\u67d0\u4e9b\u7279\u6b8a\u7684\u89c6\u9891\u7f16\u7801\uff0c\u5c42\u5c42\u7a7f\u900f\uff0c\u76f4\u8fbe\u5185\u6838\u3002</p>\n<p>\u6253\u7b97\u5207\u6362\u5230 nix \u7684 mesa 26.1.5 + Firefox 152 \u4e86\u3002</p>\n<pre><code>OS: Ubuntu 16.04.7 LTS (Xenial Xerus) x86_64\nHost: 21LF (ThinkBook 14 G6+ AHP)\nKernel: Linux 6.19.14-zabbly+\nUptime: 11 mins\nPackages: 1112 (dpkg), 807 (nix-user)\nShell: bash 4.3.48\nDisplay (LEN8AAF): 3072x1920 @ 1.75x in 14\", 120 Hz *\nDisplay (DELL P2722H): 1920x1080 @ 1.75x in 27\", 60 Hz [External]\nDE: Unity 7.4.5\nWM: Compiz (X11)\nTheme: MacBuntu-OS-Unity-Classic [GTK2/3/4]\nIcons: Papirus-Light [GTK2/3/4]\nFont: Ubuntu (11pt) [GTK2/3/4]\nCursor: DMZ-White (21px)\nTerminal: GNOME Terminal 3.18.3\nTerminal Font: Monospace (13pt)\nCPU: AMD Ryzen 7 8845H (16) @ 5.14 GHz\nGPU: AMD Radeon 780M Graphics [Integrated]\n</code></pre>\n<pre><code>amdgpu 0000:64:00.0: amdgpu: MMVM_L2_PROTECTION_FAULT_STATUS:0x00F03A30\namdgpu 0000:64:00.0: amdgpu: \t Faulty UTCL2 client ID: VCN (0x1d)\namdgpu 0000:64:00.0: amdgpu: \t MORE_FAULTS: 0x0\namdgpu 0000:64:00.0: amdgpu: \t WALKER_ERROR: 0x0\namdgpu 0000:64:00.0: amdgpu: \t PERMISSION_FAULTS: 0x3\namdgpu 0000:64:00.0: amdgpu: \t MAPPING_ERROR: 0x0\namdgpu 0000:64:00.0: amdgpu: \t RW: 0x0\namdgpu 0000:64:00.0: amdgpu: [mmhub] page fault (src_id:0 ring:24 vmid:15 pasid:25)\namdgpu 0000:64:00.0: amdgpu:  Process RDD Process pid 2343 thread browser 4 :cs0 pid 2864\namdgpu 0000:64:00.0: amdgpu:   in page starting at address 0x0000800102ab9000 from client 18\namdgpu 0000:64:00.0: amdgpu: MMVM_L2_PROTECTION_FAULT_STATUS:0x00F03A30\namdgpu 0000:64:00.0: amdgpu: \t Faulty UTCL2 client ID: VCN (0x1d)\namdgpu 0000:64:00.0: amdgpu: \t MORE_FAULTS: 0x0\namdgpu 0000:64:00.0: amdgpu: \t WALKER_ERROR: 0x0\namdgpu 0000:64:00.0: amdgpu: \t PERMISSION_FAULTS: 0x3\namdgpu 0000:64:00.0: amdgpu: \t MAPPING_ERROR: 0x0\namdgpu 0000:64:00.0: amdgpu: \t RW: 0x0\namdgpu 0000:64:00.0: amdgpu: [mmhub] page fault (src_id:0 ring:24 vmid:15 pasid:25)\namdgpu 0000:64:00.0: amdgpu:  Process RDD Process pid 2343 thread browser 4 :cs0 pid 2864\namdgpu 0000:64:00.0: amdgpu:   in page starting at address 0x0000800102ab9000 from client 18\namdgpu 0000:64:00.0: amdgpu: MMVM_L2_PROTECTION_FAULT_STATUS:0x00F03A30\namdgpu 0000:64:00.0: amdgpu: \t Faulty UTCL2 client ID: VCN (0x1d)\namdgpu 0000:64:00.0: amdgpu: \t MORE_FAULTS: 0x0\namdgpu 0000:64:00.0: amdgpu: \t WALKER_ERROR: 0x0\namdgpu 0000:64:00.0: amdgpu: \t PERMISSION_FAULTS: 0x3\namdgpu 0000:64:00.0: amdgpu: \t MAPPING_ERROR: 0x0\namdgpu 0000:64:00.0: amdgpu: \t RW: 0x0\namdgpu 0000:64:00.0: amdgpu: Dumping IP State\namdgpu 0000:64:00.0: amdgpu: Dumping IP State Completed\namdgpu 0000:64:00.0: amdgpu: [drm] AMDGPU device coredump file has been created\namdgpu 0000:64:00.0: amdgpu: [drm] Check your /sys/class/drm/card0/device/devcoredump/data\namdgpu 0000:64:00.0: amdgpu: ring vcn_unified_0 timeout, signaled seq=28, emitted seq=30\namdgpu 0000:64:00.0: amdgpu:  Process RDD Process pid 2343 thread browser 4 :cs0 pid 2864\namdgpu 0000:64:00.0: amdgpu: Starting vcn_unified_0 ring reset\namdgpu 0000:64:00.0: amdgpu: Register(0) [regUVD_POWER_STATUS] failed to reach value 0x00000001 != 0x00000002n\namdgpu 0000:64:00.0: amdgpu: Register(0) [regUVD_RB_RPTR] failed to reach value 0x00000200 != 0x00000180n\namdgpu 0000:64:00.0: amdgpu: Register(0) [regUVD_POWER_STATUS] failed to reach value 0x00000001 != 0x00000002n\namdgpu 0000:64:00.0: amdgpu: Ring vcn_unified_0 reset succeeded\namdgpu 0000:64:00.0: [drm] device wedged, but recovered through reset\n\n</code></pre>\n", 
      "date_published": "2026-07-20T00:59:21+00:00", 
      "title": "[\u9707\u60ca] \u7528 Firefox \u64ad\u653e\u4e00\u4e2a\u6296\u97f3\u89c6\u9891\uff0c\u6211\u7684 Linux \u7cfb\u7edf\u7acb\u9a6c\u6b7b\u673a", 
      "id": "https://www.v2ex.com/t/1228447"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/hihihihihi", 
        "name": "hihihihihi", 
        "avatar": "https://cdn.v2ex.com/avatar/72dd/4352/178974_large.png?m=1769391179"
      }, 
      "url": "https://www.v2ex.com/t/1227981", 
      "date_modified": "2026-07-17T04:26:40+00:00", 
      "content_html": "<p>Linux \u7b14\u8bb0\u672c\u8fd9\u91cc\u8ba8\u8bba\u8fc7\u5f88\u591a\u6b21\uff0c\u6211\u81ea\u5df1\u90fd\u591a\u6b21\u53d1\u5e16\uff0c\u6211\u4e5f\u524d\u540e\u7528\u8fc7\u6298\u817e\u8fc7\u4e00\u4e8c\u5341\u4e2a\u7b14\u8bb0\u672c\uff0c</p>\n<p>60% Apple,\n30% Thinkpad X1C/T \u7cfb\u5217\n10% \u6742\u724c\u751a\u81f3 PAD/Surface \u7cfb\u5217</p>\n<p>\u591a\u591a\u5c11\u5c11\u90fd\u6709\u4e0d\u6ee1\u610f\u7684\u5bf9\u65b9\uff0c\u5927\u90e8\u5206\u662f\u517c\u5bb9\u95ee\u9898\uff0c\u7535\u6c60\u95ee\u9898\uff0c\u9a71\u52a8\u95ee\u9898\uff0c\u542f\u52a8\u95ee\u9898\uff0c\u7a33\u5b9a\u95ee\u9898\u3002</p>\n<p>\u7531\u4e8e\u76ee\u524d\u6211\u81ea\u5df1\u4e3b\u8981\u7528 AI \u6765\u5199\u4e00\u4e9b\u5c0f\u9879\u76ee\uff0c\u6240\u4ee5\u4e3b\u8981\u8003\u8651\u8f7b\u4fbf\uff0c\u7eed\u822a\u9ad8\uff0c\u6027\u80fd\u65e0\u6240\u8c13\uff0c\u7531\u4e8e M \u82af\u7247\u652f\u6301\u4e0d\u662f\u592a\u53cb\u597d\uff0c\u8981\u4e0d\u7136 M \u82af\u7247\u5e94\u8be5\u662f\u9996\u9009\u3002</p>\n<p>\u540e\u6765\u6211\u7814\u7a76\u53d1\u73b0 12 \u5bf8\u7684 Macbook+Omarchy \u662f\u6781\u54c1\u914d\u7f6e</p>\n<p>\u6211\u4ee5\u524d\u5b9a\u5236\u8fc7\u4e00\u53f0 12 \u5bf8\u7684\uff0c\u597d\u50cf 1.2w \u4e70\u7684\uff0c\u7528\u4e86\u534a\u5e74\u4e0d\u4e60\u60ef\uff08\u90a3\u4e2a\u65f6\u5019\u89c9\u5f97\u6027\u80fd\u4e0d\u884c\u53d1\u70ed\uff09 5k \u5356\u4e86\u3002</p>\n<p>\u6700\u8fd1\u5728\u54b8\u9c7c\u82b1 1000 \u51fa\u5934\u4e70\u4e86\u4e00\u53f0 16G/256 \u7684\u6781\u54c1\u673a\uff0c\u5b89\u88c5 Omarchy \u5f88\u987a\u7545\uff0c\u552f\u4e00\u5c31\u662f\u8981\u81ea\u5df1\u6539\u4e00\u4e0b\u8bbe\u7f6e\uff0c\u8981\u4e0d\u7136\u76d2\u76d6\u5145\u7535\u540e\uff0c\u62d4\u63d2\u5934\uff0cwifi \u4e0d\u80fd\u5524\u9192\uff0c\u9700\u8981\u91cd\u65b0\u542f\u52a8\u3002 </p>\n<p>\u5982\u679c\u4f60\u5bf9\u6027\u80fd\u8981\u6c42\u4e0d\u9ad8\uff0c\u53ea\u662f\u4e0a\u7f51\uff0cai vibing \uff0c\u5bf9\u54c1\u76f8\u8981\u6c42\u4e0d\u9ad8\uff0c700 \u591a\u5c31\u80fd\u4e70\u5230\u6210\u8272\u4e0d\u9519\u7684\uff0c\u4eae\u5ea6 20-30,\u6211\u6d4f\u89c8\u7f51\u9875\uff0cvibing \u4e00\u4e0b\uff0c\u5927\u6982\u7eed\u822a\u53ef\u4ee5\u505a\u5230 8-10 \u4e2a\u5c0f\u65f6\u3002\u6211\u81ea\u5df1\u8fd8\u6709\u4e00\u53f0 x1 carbon \u4e5f\u88c5\u4e86 omarchy \uff0c\u7eed\u822a\u8981\u6bd4\u8fd9\u4e2a\u5c11\uff0c\u800c\u4e14\u8fd9\u4e2a\u5f88\u8f7b 900 \u514b\uff0c\u7b80\u76f4\u592a\u597d\u7528\u4e86\u3002</p>\n<p>1000 \u5143\u4e0d\u5230\uff0c\u8fd8\u8981\u4ec0\u4e48\u81ea\u884c\u8f66\uff1f</p>\n", 
      "date_published": "2026-07-17T04:24:52+00:00", 
      "title": "\u5f3a\u70c8\u63a8\u8350\u4e00\u6b3e\u6027\u4ef7\u6bd4\u6781\u9ad8\u7684 Linux \u672c\u641e vibe coding", 
      "id": "https://www.v2ex.com/t/1227981"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/richiewu", 
        "name": "richiewu", 
        "avatar": "https://cdn.v2ex.com/avatar/3dc2/c2f6/29854_large.png?m=1778772224"
      }, 
      "url": "https://www.v2ex.com/t/1227633", 
      "title": "Linux \u4e0b\u6709\u6ca1\u6709\u53ef\u80fd\u5b9e\u73b0 Listary \u7684\u5feb\u901f\u8df3\u8f6c", 
      "id": "https://www.v2ex.com/t/1227633", 
      "date_published": "2026-07-16T01:45:24+00:00", 
      "content_html": "<p>\u8f6f\u4ef6\u5f39\u51fa\u7684\u201c\u6253\u5f00\u201d\u6216\u201c\u4fdd\u5b58\u201d\u6587\u4ef6\u5bf9\u8bdd\u6846\u65f6\uff0c\u5e2e\u4f60\u7701\u53bb\u4e00\u5c42\u5c42\u5bfb\u627e\u6587\u4ef6\u5939\u7684\u9ebb\u70e6\uff0c\u5b9e\u73b0\u4e00\u952e\u8df3\u8f6c\uff0c\n\u6211\u95ee\u5927\u6a21\u578b\u8bf4\u6ca1\u6709\u7edf\u4e00\u6bcf\u4e2a\u5e94\u7528\u7684\u6587\u4ef6\u5bf9\u8bdd\u6846\uff0c\u6240\u4ee5\u505a\u4e0d\u5230\n\u90a3\u9000\u4e00\u6b65\u6709\u6ca1\u6709\u53ef\u80fd\u5b9e\u73b0\u81ea\u5e26\u6587\u4ef6\u7ba1\u7406\u5668\u6216\u8005 dolphin \u7684\u5feb\u901f\u8df3\u8f6c</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/wniming", 
        "name": "wniming", 
        "avatar": "https://cdn.v2ex.com/gravatar/708d900c4d23d905941b0c2cf38b7565?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1224792", 
      "date_modified": "2026-07-03T08:48:32+00:00", 
      "content_html": "<p>\u6700\u8fd1\u9047\u5230\u4e00\u4e2a\u6709\u70b9\u590d\u6742\u7684\u95ee\u9898\uff0c\u7814\u7a76\u4e86\u534a\u5929\u6ca1\u89e3\u51b3\uff0c\u60f3\u8bd5\u8bd5\u7528 AI \u6765\u641e\u884c\u4e0d\u884c\uff0c\u4e4b\u524d\u770b\u6709 V \u53cb\u5206\u4eab AI \u4f7f\u7528\u65b9\u9762\u7684\u4e00\u4e9b\u7ecf\u9a8c\uff0c\u611f\u89c9\u73b0\u9636\u6bb5\u7684 AI \u5e94\u8be5\u662f\u80fd\u89e3\u51b3\u6211\u9047\u5230\u7684\u8fd9\u4e2a\u95ee\u9898\u7684\uff0c\u4f46\u6211\u9884\u7b97\u6709\u9650\uff0c\u60f3\u5728\u5b9e\u9645\u5f00\u641e\u4e4b\u524d\u5148\u8ba9 V \u53cb\u5e2e\u6211\u9884\u4f30\u4e00\u4e0b\u641e\u5b9a\u8fd9\u4e2a\u95ee\u9898\u5927\u6982\u8981\u82b1\u591a\u5c11\u94b1\u3002</p>\n<p>\u95ee\u9898\u5982\u4e0b\uff1a</p>\n<pre><code>dnf --installroot=/var/lib/lxc/f43/rootfs --setopt=reposdir=/etc/yum.repos.d/ --releasever=43 install system-release vi vim systemd passwd dnf rootfiles nmap-ncat openssh-server util-linux iproute iputils perl fzf bash-completion\n</code></pre>\n<p>\u6211\u5728 fedora 44 \u4e0a\u7528\u4ee5\u4e0a\u8fd9\u6761\u547d\u4ee4\u521b\u5efa\u4e86\u4e00\u4e2a fedora 43 \u7684\u6781\u7b80 rootfs \uff0c\u7528 LXC \u542f\u52a8\u65f6\u65e0\u6cd5\u8fdb\u5165\u63a7\u5236\u53f0\uff0c\u4f1a\u5361\u5728\u8fd9\u91cc\uff1a</p>\n<pre><code>root@develop:~# lxc-start -F f43\nsystemd 258.9-1.fc43 running in system mode (+PAM +AUDIT +SELINUX -APPARMOR +IMA +IPE +SMACK +SECCOMP -GCRYPT +GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN -IPTC +KMOD +LIBCRYPTSETUP +LIBCRYPTSETUP_PLUGINS +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD +BPF_FRAMEWORK +BTF +XKBCOMMON +UTMP +SYSVINIT +LIBARCHIVE)\nDetected virtualization lxc.\nDetected architecture x86-64.\n\nWelcome to Fedora Linux 43 (Forty Three)!\n\nQueued start job for default target graphical.target.\n[  OK  ] Created slice system-container\\x2dgetty.slice - Slice /system/container-getty.\n[  OK  ] Created slice system-getty.slice - Slice /system/getty.\n[  OK  ] Created slice system-modprobe.slice - Slice /system/modprobe.\n[  OK  ] Created slice system-sshd\\x2dkeygen.slice - Slice /system/sshd-keygen.\n[  OK  ] Created slice user.slice - User and Session Slice.\n\u7701\u7565\u4e00\u4e9b\u65e5\u5fd7\n[  OK  ] Started sshd.service - OpenSSH server daemon.\n[  OK  ] Finished systemd-user-sessions.service - Permit User Sessions.\n[  OK  ] Started console-getty.service - Console Getty.\n[  OK  ] Started container-getty@1.service - Container Getty on /dev/pts/1.\n[  OK  ] Started container-getty@2.service - Container Getty on /dev/pts/2.\n[  OK  ] Started container-getty@3.service - Container Getty on /dev/pts/3.\n[  OK  ] Started container-getty@4.service - Container Getty on /dev/pts/4.\n[  OK  ] Reached target getty.target - Login Prompts.\n[  OK  ] Started dbus-broker.service - D-Bus System Message Bus.\n[  OK  ] Started systemd-logind.service - User Login Management.\n[  OK  ] Reached target multi-user.target - Multi-User System.\n[  OK  ] Reached target graphical.target - Graphical Interface.\n</code></pre>\n<p>\u5728\u5bb9\u5668\u5185\u67e5\u770b\u542f\u52a8\u65e5\u5fd7\u6709\u62a5\u9519\uff1a</p>\n<pre><code>[root@f43-lxc ~]# journalctl -b -o short-monotonic --no-pager\n\u7701\u7565\u4e00\u4e9b\u65e5\u5fd7\n[23878.264260] f43-lxc sshd[73]: Server listening on 0.0.0.0 port 22.\n[23878.264298] f43-lxc sshd[73]: Server listening on :: port 22.\n[23878.264404] f43-lxc systemd[1]: Started sshd.service - OpenSSH server daemon.\n[23878.269095] f43-lxc systemd[1]: Finished systemd-user-sessions.service - Permit User Sessions.\n[23878.270020] f43-lxc systemd[1]: Started console-getty.service - Console Getty.\n[23878.271603] f43-lxc systemd[1]: Started container-getty@1.service - Container Getty on /dev/pts/1.\n[23878.273357] f43-lxc systemd[1]: Started container-getty@2.service - Container Getty on /dev/pts/2.\n[23878.275185] f43-lxc systemd[1]: Started container-getty@3.service - Container Getty on /dev/pts/3.\n[23878.275923] f43-lxc systemd[1]: Started container-getty@4.service - Container Getty on /dev/pts/4.\n[23878.276071] f43-lxc systemd[1]: getty@tty1.service - Getty on tty1 skipped, unmet condition check ConditionPathExists=/dev/tty0\n[23878.276086] f43-lxc systemd[1]: Reached target getty.target - Login Prompts.\n[23878.276254] f43-lxc systemd[1]: Started dbus-broker.service - D-Bus System Message Bus.\n[23878.281245] f43-lxc dbus-broker-launch[92]: Ready\n[23878.294315] f43-lxc systemd-logind[84]: Failed to open /dev/input/event0: No such file or directory\n[23878.294420] f43-lxc systemd-logind[84]: New seat seat0.\n[23878.294575] f43-lxc systemd[1]: Started systemd-logind.service - User Login Management.\n[23878.294641] f43-lxc systemd-logind[84]: Failed to open /dev/input/event15: No such file or directory\n[23878.294916] f43-lxc systemd[1]: Reached target multi-user.target - Multi-User System.\n[23878.295094] f43-lxc systemd[1]: Reached target graphical.target - Graphical Interface.\n[23878.295327] f43-lxc systemd[1]: Startup finished in 536ms.\n[23878.297253] f43-lxc systemd-logind[84]: Failed to open /dev/input/event1: No such file or directory\n[23878.311089] f43-lxc (agetty)[132]: console-getty.service: Failed to set up standard input: No such file or directory\n[23878.311116] f43-lxc (agetty)[132]: console-getty.service: Failed at step STDIN spawning /sbin/agetty: No such file or directory\n[23878.311788] f43-lxc systemd[1]: console-getty.service: Deactivated successfully.\n[23878.338688] f43-lxc systemd-logind[84]: Failed to open /dev/input/event11: No such file or directory\n[23878.349390] f43-lxc systemd-logind[84]: Failed to open /dev/input/event2: No such file or directory\n[23878.352076] f43-lxc systemd-logind[84]: Failed to open /dev/input/event12: No such file or directory\n[23878.355802] f43-lxc systemd-logind[84]: Failed to open /dev/input/event9: No such file or directory\n[23878.356585] f43-lxc systemd-logind[84]: Failed to open /dev/input/event4: No such file or directory\n[23878.363069] f43-lxc systemd-logind[84]: Failed to open /dev/input/event10: No such file or directory\n[23878.367810] f43-lxc systemd-logind[84]: Failed to open /dev/input/event5: No such file or directory\n[23878.463918] f43-lxc systemd[1]: console-getty.service: Scheduled restart job, restart counter is at 1.\n[23878.465127] f43-lxc systemd[1]: Started console-getty.service - Console Getty.\n[23878.465639] f43-lxc systemd[1]: systemd-vconsole-setup.service - Virtual Console Setup skipped, unmet condition check ConditionPathExists=/dev/tty0\n[23878.475216] f43-lxc (agetty)[156]: console-getty.service: Failed to set up standard input: No such file or directory\n[23878.475238] f43-lxc (agetty)[156]: console-getty.service: Failed at step STDIN spawning /sbin/agetty: No such file or directory\n[23878.475834] f43-lxc systemd[1]: console-getty.service: Deactivated successfully.\n[23878.644621] f43-lxc systemd[1]: console-getty.service: Scheduled restart job, restart counter is at 2.\n[23878.645588] f43-lxc systemd[1]: Started console-getty.service - Console Getty.\n[23878.657089] f43-lxc (agetty)[157]: console-getty.service: Failed to set up standard input: No such file or directory\n[23878.657109] f43-lxc (agetty)[157]: console-getty.service: Failed at step STDIN spawning /sbin/agetty: No such file or directory\n[23878.657604] f43-lxc systemd[1]: console-getty.service: Deactivated successfully.\n[23878.889562] f43-lxc systemd[1]: console-getty.service: Scheduled restart job, restart counter is at 3.\n[23878.890736] f43-lxc systemd[1]: Started console-getty.service - Console Getty.\n[23878.902112] f43-lxc (agetty)[158]: console-getty.service: Failed to set up standard input: No such file or directory\n[23878.902139] f43-lxc (agetty)[158]: console-getty.service: Failed at step STDIN spawning /sbin/agetty: No such file or directory\n[23878.902764] f43-lxc systemd[1]: console-getty.service: Deactivated successfully.\n[23879.238697] f43-lxc systemd[1]: console-getty.service: Scheduled restart job, restart counter is at 4.\n[23879.239842] f43-lxc systemd[1]: Started console-getty.service - Console Getty.\n[23879.257111] f43-lxc (agetty)[159]: console-getty.service: Failed to set up standard input: No such file or directory\n[23879.257140] f43-lxc (agetty)[159]: console-getty.service: Failed at step STDIN spawning /sbin/agetty: No such file or directory\n[23879.257806] f43-lxc systemd[1]: console-getty.service: Deactivated successfully.\n[23879.489021] f43-lxc systemd[1]: console-getty.service: Scheduled restart job, restart counter is at 5.\n[23879.489166] f43-lxc systemd[1]: console-getty.service: Start request repeated too quickly.\n[23879.489172] f43-lxc systemd[1]: console-getty.service: Failed with result 'start-limit-hit'.\n[23879.489214] f43-lxc systemd[1]: Failed to start console-getty.service - Console Getty.\n[root@f43-lxc ~]# \n</code></pre>\n<p>lxc \u7684\u914d\u7f6e\u5982\u4e0b\uff1a</p>\n<pre><code>root@develop:~# cat /var/lib/lxc/f43/config\nlxc.include = /usr/share/lxc/config/common.conf\n\nlxc.rootfs.path = dir:/var/lib/lxc/f43/rootfs\nlxc.uts.name = f43-lxc\n\nlxc.mount.auto = sys:rw\n</code></pre>\n<p>\u5982\u679c\u628a lxc.mount.auto = sys:rw \u6ce8\u91ca\u6389\u5c31\u80fd\u6b63\u5e38\u8fdb\u5165\u63a7\u5236\u53f0\uff0c\u4f46\u6211\u9700\u8981\u7528\u8fd9\u4e2a\uff0c\u540c\u6837\u7684\u914d\u7f6e\u5728 fedora 42 \u5bb9\u5668\u91cc\u662f\u6b63\u5e38\u7684\uff0c\u4f46 fedora 43, fedora 44 \u90fd\u6709\u4e00\u6837\u7684\u95ee\u9898\u3002</p>\n", 
      "date_published": "2026-07-03T08:42:40+00:00", 
      "title": "AI \u80fd\u7528\u6765\u5168\u81ea\u52a8\u5316\u89e3\u51b3 Linux \u7cfb\u7edf\u95ee\u9898\u5417\uff1f", 
      "id": "https://www.v2ex.com/t/1224792"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/heixiaobai", 
        "name": "heixiaobai", 
        "avatar": "https://cdn.v2ex.com/avatar/1d14/d9e0/339035_large.png?m=1684140146"
      }, 
      "url": "https://www.v2ex.com/t/1224019", 
      "title": "\u5927\u4f6c\u4eec\uff0c Linux kernel \u6f0f\u6d1e\u9891\u53d1\u9700\u8981\u5347\u7ea7\u7684\u95ee\u9898\uff0c\u4f60\u4eec\u662f\u600e\u4e48\u5904\u7406\u7684\uff1f", 
      "id": "https://www.v2ex.com/t/1224019", 
      "date_published": "2026-06-30T11:56:12+00:00", 
      "content_html": "<p>\u6211\u4eec\u76ee\u524d\u7684\u6a21\u5f0f\u662f\uff0c\u57fa\u7840\u8bbe\u65bd\u4e3b\u673a\u7ec4\u652f\u6491\u591a\u4e2a\u4e1a\u52a1\u9879\u76ee\u7ec4\uff0c\u4e1a\u52a1\u9879\u76ee\u7ec4\u7684\u4e1a\u52a1\u8fd0\u7ef4\u57fa\u672c\u662f\u5f00\u53d1\u517c\u987e\uff0c\u6c34\u5e73\u53c2\u5dee\u4e0d\u9f50<br/>\n\u6240\u4ee5\u5185\u6838\u5347\u7ea7\u7684\u5de5\u4f5c\u5c31\u843d\u5728\u6211\u4eec\u8fd9\u8fb9\uff0c\u5347\u7ea7\u540e\u9700\u8981\u4e1a\u52a1\u7ec4\u90a3\u8fb9\u9a8c\u8bc1\u4e1a\u52a1<br/>\n\u73b0\u5728\u7684\u95ee\u9898\u662f\u4eca\u5e74\u6f0f\u6d1e\u9891\u53d1\uff0c\u4e0a\u7ea7\u5b89\u5168\u90e8\u95e8\u8981\u6c42\u5fc5\u987b\u6574\u6539\u6f0f\u6d1e\uff0c\u4e0a\u4e00\u8f6e\u7684\u6f0f\u6d1e\u8fd8\u6ca1\u4fee\u5b8c\uff0c\u53c8\u6709\u65b0\u6f0f\u6d1e\u7206\u51fa\u6765\u4e86<br/>\n\u5929\u5929\u52a0\u73ed\u5347\u7ea7\u5185\u6838\uff0c\u5b9e\u5728\u71ac\u4e0d\u52a8<br/>\n\u76ee\u524d\u4e3b\u8981\u53d1\u884c\u7248\u662f\u94f6\u6cb3\u9e92\u9e9f\uff0c\u5382\u5bb6\u8bf4\u4e0d\u652f\u6301\u5185\u6838\u8865\u4e01\u70ed\u5347\u7ea7\u3002</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/yagamil", 
        "name": "yagamil", 
        "avatar": "https://cdn.v2ex.com/avatar/e322/1a6d/318767_large.png?m=1788626218"
      }, 
      "url": "https://www.v2ex.com/t/1223777", 
      "title": "\u4e3a\u5565 ubuntu \u641e\u4e2a wayland \u8fd9\u79cd\u4e0d\u517c\u5bb9\u7684\u73a9\u610f\u51fa\u6765", 
      "id": "https://www.v2ex.com/t/1223777", 
      "date_published": "2026-06-29T15:04:25+00:00", 
      "content_html": "<p>\u597d\u597d\u7684 xorg \u653e\u5f03\u6389,\u517c\u5bb9\u6027\u5f88\u5927\u95ee\u9898</p>\n<p>wayland \u4e0b\u7684\u8fdc\u7a0b\u684c\u9762\u6ca1\u6cd5\u5171\u4eab\u4e00\u4e2a\u4f1a\u8bdd,\u53ea\u80fd\u7528 vnc,wayland \u4e0b\u7684 sogou \u8f93\u5165\u6cd5\u4e5f\u57fa\u672c\u7528\u4e0d\u4e86. \u5185\u7f6e\u7684\u90a3\u4e2a\u667a\u80fd\u4e2d\u6587\u8f93\u5165\u5c31\u8c61\u4e2a\u667a\u969c\u4e00\u6837</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/PeterTerpe", 
        "name": "PeterTerpe", 
        "avatar": "https://cdn.v2ex.com/avatar/5979/155a/743216_large.png?m=1760921955"
      }, 
      "url": "https://www.v2ex.com/t/1223240", 
      "title": "Linux \u4e0a\u7684\u6e38\u620f\u7f51\u7edc\u52a0\u901f", 
      "id": "https://www.v2ex.com/t/1223240", 
      "date_published": "2026-06-26T17:11:17+00:00", 
      "content_html": "<p>\uff08 Fedora 44 \uff09</p>\n<h2>\u6211\u9047\u5230\u7684\u95ee\u9898 - UU</h2>\n<p>\u672c\u6765\u4eca\u5e74\u4e8c\u6708\u7528\u7684 UU \u52a0\u901f\u5668\u7684 steamdeck \u63d2\u4ef6\u6ca1\u5565\u95ee\u9898\u7684\uff0c\u6700\u8fd1\u518d\u542f\u52a8\u53d1\u73b0\u7528\u4e0d\u4e86\u4e86\uff0c\u4f30\u8ba1\u662f\u63d2\u4ef6\u548c Fedora \u7684\u66f4\u65b0\u7ec8\u4e8e\u4e0d\u518d\u517c\u5bb9\u4e86\uff0c\u6bd5\u7adf\u90a3\u73a9\u610f\u662f\u7ed9 steam OS \u7f16\u8bd1\u597d\u7684\u4e8c\u8fdb\u5236\u3002</p>\n<p>\u521a\u5f00\u59cb\u6392\u67e5\u95ee\u9898\u7684\u65f6\u5019\uff0c\u53d1\u73b0\u5f00\u59cb\u52a0\u901f\u4e4b\u540e\u6709\u4e2a\u53eb tun163 \u7684\u865a\u62df\u7f51\u5361\u83b7\u5f97\u4e86\u6700\u9ad8\u9ed8\u8ba4\u4f18\u5148\u7ea7\uff0c\u8fc7\u4e86\u51e0\u5206\u949f\u4e4b\u540e\u8fd9\u4e2a\u7f51\u5361\u663e\u793a\u4e3a down \uff0c\u4f46\u8fd8\u662f\u6700\u9ad8\u4f18\u5148\u7ea7\uff0c\uff08\u5bfc\u81f4\uff09\u6574\u4e2a\u7cfb\u7edf\u65ad\u7f51\u3002\u8fd9\u65f6\u7684\u63d2\u4ef6\u7248\u672c\u5e94\u8be5\u662f 4 \u6708\u4efd\u53d1\u5e03\u7684</p>\n<p>\u540e\u6765\u66f4\u65b0\u5230\u4e86 6 \u6708\u53d1\u5e03\u7684\u7248\u672c\uff0c\u5012\u662f\u4e0d\u4f1a\u6574\u4e2a\u7cfb\u7edf\u65ad\u7f51\u4e86\uff0c\u4f46\u662f\u4e5f\u6ca1\u6709\u4efb\u4f55\u52a0\u901f\u6548\u679c\uff0c\u4e5f\u6ca1\u6709\u770b\u5230 tun163 \u7f51\u5361\u4e86\u3002</p>\n<p>\u6d4b\u8bd5\u65f6\u5173\u95ed\u4e86 SELinux \u548c\u9632\u706b\u5899\uff0c\u5e94\u8be5\u4e0d\u662f\u8fd9\u4fe9\u6709\u95ee\u9898\u3002</p>\n<h2>\u89e3\u51b3\u529e\u6cd5\uff1f</h2>\n<h3>UU</h3>\n<p>\u8981\u662f\u6709\u5927\u4f6c\u770b\u5230\u8fd9\u6761\u5e16\u5b50\u6709\u4f7f\u7528 steamdeck \u63d2\u4ef6\u7684\u7ecf\u9a8c\uff0c\u6073\u6c42\u6307\u70b9\u4e00\u4e0b\ud83d\ude4f</p>\n<p>\u5e0c\u671b\u4ed6\u4eec\u7684\u201c\u6280\u672f\u5ba2\u670d\u201d\u613f\u610f\u5e2e\u6211\u6392\u67e5\u4e00\u4e0b\u95ee\u9898\u5427\uff0c\u6bd5\u7adf\u90a3\u4e8c\u8fdb\u5236\u6211\u4e5f\u4e0d\u597d\u4e0b\u624b\u3002\u5982\u679c\u65e9\u77e5\u9053\u4f1a\u8fd9\u6837\u5f53\u521d\u5c31\u4e0d\u5145\u90a3\u4e48\u591a\u4e86\u3002</p>\n<p>\u6211\u4e5f\u5c1d\u8bd5\u4e86\u5728 Arch \u7684 distrobox \u91cc\u5b89\u88c5\uff0c\u4f46\u6211\u5e76\u4e0d\u4e86\u89e3 distrobox \uff0c\u52a0\u4e0a uu \u7684\u5b89\u88c5\u811a\u672c\u5c41\u4e5f\u4e0d\u8f93\u51fa\uff0c\u65e0\u679c\u3002</p>\n<p>PS: \u8fd9\u79cd\u63d2\u4ef6\u7684\u5b89\u5168\u6027\u4e5f\u6781\u8ba9\u4eba\u62c5\u5fe7\u3002\u5c31\u7b97\u7f51\u6613\u7684\u4ee3\u7801\u662f\u53ef\u4fe1\u7684\uff0c\u8fd9\u79cd\u81ea\u52a8\u62c9\u53d6\u8fdc\u7a0b\u4ee3\u7801\u7684\u6a21\u5f0f\u7684\u53ef\u653b\u51fb\u9762\u5f88\u5927\uff0c\u800c\u4e14\u63d2\u4ef6\u4ee5\u5f88\u9ad8\u7684\u6743\u9650\u8fd0\u884c\u3002</p>\n<h3>\u673a\u573a</h3>\n<p>\u6216\u8bb8\u662f\u4e00\u4e2a\u517c\u5bb9\u6027\u62c9\u6ee1\u7684\u9009\u62e9\uff0c\u5927\u5bb6\u6709\u63a8\u8350\u7684\u5417\uff1f\u7528\u6765\u52a0\u901f\u6e38\u620f\u7684\uff0c\u50cf\u5976\u6614\u90a3\u79cd\u8db3\u591f\u5417\uff1f</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/ko20", 
        "name": "ko20", 
        "avatar": "https://cdn.v2ex.com/avatar/85c3/656c/599998_large.png?m=1747099205"
      }, 
      "url": "https://www.v2ex.com/t/1223133", 
      "title": "\u592a\u597d\u4e86\u611f\u52a8\u54ed\u4e86 chrome149 \u4fee\u590d\u4e86 wayland+nvidia \u7684\u786c\u4ef6\u52a0\u901f\u95ee\u9898", 
      "id": "https://www.v2ex.com/t/1223133", 
      "date_published": "2026-06-26T08:14:22+00:00", 
      "content_html": "<p>\u6211\u7684\u6e38\u620f\u672c\uff0ci7-11800H + RTX 3060 Laptop \uff0c\u56e0\u4e3a\u684c\u9762\u4e0d\u591f\u6d41\u7545\u7684\u95ee\u9898\uff08\u5982\u4e0b\u63cf\u8ff0\uff09\u6211\u5c06 bios \u4e2d\u663e\u5361\u8f93\u51fa\u6a21\u5f0f\u5207\u6362\u6210\u4e86\u72ec\u663e\u76f4\u8fde</p>\n<blockquote>\n<p>BIOS \u4e2d\u8bbe\u4e3a\u53cc\u663e\u5361\u6df7\u5408\u8f93\u51fa\u65f6\uff0c\u7cfb\u7edf\u4e3b GPU \u662f Intel \u6838\u663e\uff0c\u684c\u9762\u5408\u6210\u5668\uff08 Mutter \uff09\u7531\u6838\u663e\u9a71\u52a8\u3002\u4f46\u7b14\u8005\u7684\u4e24\u53f0\u5916\u63a5\u663e\u793a\u5668\uff08\u4e00\u53f0 4K 27 \u5bf8\u3001\u4e00\u53f0 1080P 24 \u5bf8\uff09\u901a\u8fc7 HDMI \u548c USB-C \u76f4\u8fde\u5230\u4e86 RTX 3060 \u72ec\u663e\uff0c\u8fd9\u610f\u5473\u7740\uff1a\u5916\u63a5\u5c4f\u5e55\u7684\u6700\u7ec8\u753b\u9762\u8f93\u51fa\u5fc5\u987b\u7ecf\u8fc7 NVIDIA \u72ec\u663e\u3002\u6bcf\u4e00\u5e27\u6e32\u67d3\u6d41\u7a0b\u4e3a Intel \u6838\u663e\u5408\u6210\u2192\u7ecf PCIe \u603b\u7ebf\u62f7\u8d1d\u5230 NVIDIA \u663e\u5b58\u2192NVIDIA \u8f93\u51fa\u5230\u5c4f\u5e55\uff0c\u8fd9\u4e2a\u8de8 GPU \u7684 PRIME \u7f13\u51b2\u533a\u540c\u6b65\u8fc7\u7a0b\u5f15\u5165\u4e86\u663e\u8457\u7684\u5ef6\u8fdf\u548c\u6389\u5e27\uff1b\u540c\u65f6 Mutter \u540c\u65f6\u7ba1\u7406\u4e24\u4e2a GPU \u7684 framebuffer \uff0c\u5e27\u65f6\u5e8f\u96be\u4ee5\u5bf9\u9f50\uff0c\u8fdb\u4e00\u6b65\u52a0\u5267\u4e86\u5361\u987f\u611f\u3002</p>\n</blockquote>\n<p>\u4f46\u662f chrome 148 \u5728 wayland \u663e\u793a\u534f\u8bae\u4e0b\u65e0\u6cd5\u5f00\u542f\u786c\u4ef6\u52a0\u901f\uff0c\u4f46\u662f\u73b0\u5728 chrome 149 \u4fee\u590d\u4e86\u8fd9\u4e2a\u95ee\u9898\uff01\u770b\u4e16\u754c\u676f\u76f4\u64ad\u4e5f\u80fd\u5f88\u6d41\u7545\u7684\u89c2\u770b\u4e86\uff0c\u4e4b\u524d\u90fd\u5207\u6362\u5230\u4e86 firefox \u4e34\u65f6\u6551\u6025\uff08 firefox \u6ca1\u8fd9\u4e2a\u95ee\u9898\uff09</p>\n<p>\u65e7\u7248\u672c 148.0.7778.215 (\u6b63\u5f0f\u7248\u672c) \uff08 64 \u4f4d\uff09<br/>\n\u65b0\u7248\u672c 149.0.7827.200 (\u6b63\u5f0f\u7248\u672c) \uff08 64 \u4f4d\uff09 </p>\n<p><img alt=\"chrome149 \u4fee\u590d\u4e86 wayland-nvidia \u7684\u786c\u4ef6\u52a0\u901f\u95ee\u9898.jpg\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://image.940304.xyz/i/2026/06/26/6a3e3458707a1.jpg\"/></p>\n<p>\u559c\u5927\u666e\u5954\uff0c\u5206\u4eab\u7ed9\u5927\u5bb6\u3002</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/tntin", 
        "name": "tntin", 
        "avatar": "https://cdn.v2ex.com/gravatar/92c596b2a33557bcc1b343c54419404e?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1222124", 
      "title": "debian+gnome \u5f00\u673a\u540e\u53ef\u4ee5\u4e0d\u663e\u793a\u7528\u6237\u5217\u8868 \u53ea\u9700\u8981\u8f93\u5165\u5bc6\u7801 \u50cf mac \u90a3\u6837\u4e48\uff1f\u6709\u4ec0\u4e48\u63d2\u4ef6\u5b9e\u73b0\u4e48", 
      "id": "https://www.v2ex.com/t/1222124", 
      "date_published": "2026-06-22T22:04:03+00:00", 
      "content_html": ""
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/wuruxu", 
        "name": "wuruxu", 
        "avatar": "https://cdn.v2ex.com/avatar/0c1d/51f3/76854_large.png?m=1785818636"
      }, 
      "url": "https://www.v2ex.com/t/1221700", 
      "title": "\u5347\u7ea7\u540e\uff0c\u53d1\u73b0 USB \u76f8\u5173\u7684\u8bbe\u5907\u65e0\u6cd5\u542f\u7528\uff0c\u53ef\u4ee5\u67e5\u4e0b\u6709\u6ca1\u6709 usbguard \u670d\u52a1", 
      "id": "https://www.v2ex.com/t/1221700", 
      "date_published": "2026-06-20T23:38:30+00:00", 
      "content_html": "\u6700\u8fd1\u7cfb\u7edf\u5347\u7ea7\u540e\uff0c\u4e00\u5f00\u59cb\u770b\u5230\u7684\u662f\u6240\u6709\u8ddf USB \u76f8\u5173\u7684\u8bbe\u5907\uff0c\u5305\u62ec\u84dd\u7259\uff0c\u6307\u7eb9\u8bc6\u522b\uff0cusb camera \u90fd\u4e0d\u6b63\u5e38\u4e86\uff0c\u770b bios \u90fd\u6ca1\u6709\u95ee\u9898\uff0c\u6211\u4e00\u5ea6\u4ee5\u4e3a\u662f bios \u5347\u7ea7\u5bfc\u81f4\u7684\u3002\u95ee\u4e86 gpt \u624d\u53d1\u73b0\u662f usbguard \u8fd9\u4e2a\u670d\u52a1\u6363\u9b3c"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/hipkomh", 
        "name": "hipkomh", 
        "avatar": "https://cdn.v2ex.com/gravatar/fccaa0bc112fa080ec1941843e807cab?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1221637", 
      "title": "\u4ecb\u7ecd\u4e00\u4e0b flatpark", 
      "id": "https://www.v2ex.com/t/1221637", 
      "date_published": "2026-06-20T08:09:18+00:00", 
      "content_html": "<p>\u6700\u8fd1 flathub \u7981\u6b62\u63d0\u4ea4\u8f6f\u4ef6\u65f6\u4f7f\u7528 ai \u8f85\u52a9, \u6211\u60f3\u4e0a ibkr \u88ab maintainer \u55b7\u4e86, \u7d22\u6027\u81ea\u5df1 vibe \u4e86\u4e00\u4e2a:  <a href=\"https://flatpark.org/\" rel=\"nofollow\">https://flatpark.org/</a></p>\n<p>\u4f7f\u7528\u548c flathub \u6ca1\u5565\u533a\u522b, runtime \u4e5f\u662f\u76f4\u63a5\u62ff flathub \u7684. \u53ea\u662f\u4e0a\u67b6\u5e94\u7528\u66f4\u7b80\u5355, \u66f4\u65b0 runtime \u4f1a\u66f4\u5feb. \u6b22\u8fce\u5927\u5bb6\u6765\u4e30\u5bcc\u8d44\u6e90/\u63d0\u60f3\u6cd5.</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/richiewu", 
        "name": "richiewu", 
        "avatar": "https://cdn.v2ex.com/avatar/3dc2/c2f6/29854_large.png?m=1778772224"
      }, 
      "url": "https://www.v2ex.com/t/1221129", 
      "title": "fctix5 \u7684 Pinyin \u8f93\u5165\u6cd5\u600e\u4e48\u6ca1\u6709\u81ea\u52a8\u8c03\u6574\u8bcd\u9891", 
      "id": "https://www.v2ex.com/t/1221129", 
      "date_published": "2026-06-17T09:03:39+00:00", 
      "content_html": "<p>\u8bbe\u7f6e\u754c\u9762\u6709\u542f\u7528\u4e91\u62fc\u97f3\uff0c\u4f46\u662f\u5c31\u662f\u6ca1\u6709\u52a8\u6001\u8c03\u6574\u8bcd\u9891\u7684\u9009\u9879</p>\n<p>arch linux niri \u73af\u5883</p>\n<p>sudo pacman -S fcitx5 fcitx5-chinese-addons fcitx5-gtk fcitx5-qt fcitx5-configtool fcitx5-sogoupinyin \u90fd\u5b89\u88c5\u4e86</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/xiaoluobo58", 
        "name": "xiaoluobo58", 
        "avatar": "https://cdn.v2ex.com/gravatar/50e6d265a093696875b09822c676ebfe?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1220897", 
      "date_modified": "2026-06-16T10:33:17+00:00", 
      "content_html": "\u5982\u9898\uff0c\u73b0\u5728 Linux \u7aef\u7684 rootkit \u548c\u540e\u95e8\u7a0b\u5e8f\u5c42\u51fa\u4e0d\u7a77\u3002\u5927\u5382\u7684 VPS \u4e00\u822c\u90fd\u9644\u5e26\u5b89\u5168\u68c0\u6d4b\u4eea\u8868\u76d8\uff0c\u672c\u4eba\u7684\u963f\u91cc\u4e91 VPS \u5c31\u88ab\u690d\u5165\u8fc7 rootkit \uff0c\u4e00\u690d\u5165\u5c31\u88ab\u963f\u91cc\u4e91\u5b89\u5168\u4eea\u8868\u76d8\u626b\u51fa\u6765\u544a\u8b66\u4e86\u3002<br />\u4f46\u662f\u4e2a\u4eba\u7684 Linux \u8bbe\u5907\uff08\u6bd4\u5982\u81ea\u7ec4 Home Server \uff09\u4e0d\u50cf\u5927\u5382 VPS \u90a3\u6837\u81ea\u5e26\u5b89\u5168\u4eea\u8868\u76d8\uff0c\u8fd9\u5c31\u5f88\u5c34\u5c2c\u4e86\uff0c\u5404\u4f4d V2er \u80fd\u5426\u7ed9\u672c\u4eba\u63a8\u8350\u4e00\u4e9b Linux \u7aef\u7684\u5b89\u5168\u76d1\u63a7\u8f6f\u4ef6\u6216\u8005\u6740\u6bd2\u8f6f\u4ef6\uff1f\u63d0\u524d\u8c22\u8c22\u5927\u5bb6\u4e86", 
      "date_published": "2026-06-16T10:32:46+00:00", 
      "title": "Linux \u670d\u52a1\u5668\u6709\u4f55\u5b89\u5168\u76d1\u63a7\u8f6f\u4ef6\uff1f", 
      "id": "https://www.v2ex.com/t/1220897"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/ko20", 
        "name": "ko20", 
        "avatar": "https://cdn.v2ex.com/avatar/85c3/656c/599998_large.png?m=1747099205"
      }, 
      "url": "https://www.v2ex.com/t/1220807", 
      "title": "\u817e\u8baf\u4f1a\u8bae Linux \u7248\u4f7f\u7528 nvidia \u72ec\u663e\u65e0\u6cd5\u9a71\u52a8\u89c6\u9891\u529f\u80fd", 
      "id": "https://www.v2ex.com/t/1220807", 
      "date_published": "2026-06-16T06:06:51+00:00", 
      "content_html": "<p>\u817e\u8baf\u4f1a\u8bae linux \u7248\u672c\u82e5\u60f3\u6b63\u5e38\u4f7f\u7528\u6444\u50cf\u5934\u6e32\u67d3\u753b\u9762\uff0c\u4ee5\u53ca\u6b63\u5e38\u6e32\u67d3\u89c6\u9891\uff08\u522b\u4eba\u5206\u4eab\u684c\u9762\u7b49\u573a\u666f\uff09\uff0c\u597d\u50cf\u53ea\u80fd\u4f7f\u7528 intel \u6838\u663e\u3002</p>\n<p>\u5f53\u6211\u5207\u6362\u5230\u72ec\u663e\u76f4\u8fde\uff0c\u89c6\u9891\u7a97\u53e3\u5c31\u5b8c\u5168\u9ed1\u5c4f\u4e86\u3002\u4f46\u662f intel \u6838\u663e\u548c nvidia \u72ec\u663e\u6df7\u5408\u8f93\u51fa\u65f6\uff0c\u6211\u611f\u89c9\u6211\u7684 gnome \u684c\u9762\u59cb\u7ec8\u4e0d\u591f\u6d41\u7545\uff0c\u56e0\u4e3a\u8981\u63a5\u7b2c\u4e8c\u5757\u5c4f\u5e55\uff0c\u5185\u5c4f\u53ea\u80fd\u4ea4\u7ed9 intel \uff0c\u5916\u63a5\u5c4f\u53c8\u88ab nvidia \u63a5\u7ba1\uff0c\u6700\u7ec8\u6e32\u67d3\u8d77\u6765\u5c31\u5361\u5361\u7684\u2026\u2026 \u597d\u96be\u53d7\uff0c\u5927\u5bb6\u6709\u89e3\u51b3\u7684\u601d\u8def\u5417\uff1f</p>\n<p>debian13 + gnome48 + wayland \u73af\u5883\uff0c\u817e\u8baf\u4f1a\u8bae linux \u7248\uff0c\u7248\u672c V3.26.10.401</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/richiewu", 
        "name": "richiewu", 
        "avatar": "https://cdn.v2ex.com/avatar/3dc2/c2f6/29854_large.png?m=1778772224"
      }, 
      "url": "https://www.v2ex.com/t/1220733", 
      "title": "niri \u73af\u5883\u7528\u89e6\u63a7\u677f\u600e\u4e48\u80fd\u66f4\u597d\u7684\u9009\u62e9\u6587\u5b57", 
      "id": "https://www.v2ex.com/t/1220733", 
      "date_published": "2026-06-16T02:12:44+00:00", 
      "content_html": "<p>\u73b0\u5728\u7528\u4e86\u5999\u63a7\u677f\uff0c\u53cc\u51fb\u540e\u79fb\u52a8\u9009\u62e9\u6587\u5b57\uff0c\u4f46\u662f\u624b\u6307\u4e0d\u80fd\u677e\u5f00\uff0c\u9009\u62e9\u5927\u9762\u79ef\u6587\u5b57\u592a\u56f0\u96be\u4e86</p>\n<p>\u8bd5\u8fc7\u6309\u4e0b Shift \u518d\u79fb\u52a8\uff0c\u4e0d\u80fd\u9009\u62e9\u6587\u5b57</p>\n<p>\u6709\u6ca1\u6709\u5176\u4ed6\u597d\u7684\u529e\u6cd5\uff1f</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/MilesClem", 
        "name": "MilesClem", 
        "avatar": "https://cdn.v2ex.com/avatar/1d20/2e61/775150_large.png?m=1780671044"
      }, 
      "url": "https://www.v2ex.com/t/1218319", 
      "title": "\u300eArchLinux\u300f\u7b80\u660e\u5b89\u88c5\u6307\u5357(Laptop+Nvidia+Cachyos Kernel +xfs+KDE)", 
      "id": "https://www.v2ex.com/t/1218319", 
      "date_published": "2026-06-05T15:26:10+00:00", 
      "content_html": "<h1>\u539f\u521b\u6027\u58f0\u660e\uff1a</h1>\n<p>\u672c\u6587\u8f6c\u8f7d\u81ea\u672c\u4eba\u5728 Nodeseek<strong>\u539f\u521b</strong>\u7684<a href=\"https://www.nodeseek.com/post-653155-1\" rel=\"nofollow\">ArchLinux \u5b89\u88c5\u5e16</a>\uff0c\u8fd9\u4efd\u6559\u7a0b\u662f\u6211\u5728\u521d\u6b65\u5b66\u4e60 Linux \u5e76\u79ef\u6781\u5f00\u8352\u540e\u5f97\u5230\u7684\u7ecf\u9a8c,\u5728\u6b64\u5411\u5927\u5bb6\u5206\u4eab\u3002</p>\n<hr/>\n<ul>\n<li>\u7b14\u8005\u5728\u5165\u95e8\u5b66\u4e60 linux \u65f6\u9009\u62e9\u4e86 ArchLinux<del>\u5f00\u59cb\u4f20\u6559</del>,\u7ffb\u9605\u4e86\u5f88\u591a\u6559\u7a0b,\u8e29\u4e86\u5f88\u591a\u65b0\u624b\u7684\u5751\u3002\u96f6\u96f6\u6563\u6563 Obsidian \u4e2d\u5b58\u4e0b\u5f88\u591a\u81ea\u5df1\u9700\u8981\u6ce8\u610f\u7684\u4e8b\u9879\u3002\u9042\u5199\u6210\u4e00\u7bc7\u9488\u5bf9\u6027\u7684\u5b89\u88c5\u65b9\u6848\uff0c\u4ee5\u4f9b\u5927\u5bb6\u53c2\u8003\u3002</li>\n<li>\u6709\u7eb0\u6f0f\u6216\u8005\u52d8\u8bef\u7684\u5730\u65b9\u8fd8\u8bf7\u5927\u5bb6\u591a\u591a\u6307\u70b9\u3002</li>\n<li>\u5b89\u88c5\u65f6\u9047\u5230\u62a5\u9519\u8bf7\u9996\u5148\u5728<a href=\"https://wiki.archlinux.org/\" rel=\"nofollow\">ArchWiki</a>\u4e0a\u5bfb\u627e\u89e3\u51b3\u65b9\u6848\u3002</li>\n</ul>\n<h2>\u53c2\u8003\u7f51\u9875\uff1a</h2>\n<p><a href=\"https://wiki.archlinux.org/title/Installation_guide\" rel=\"nofollow\">ArchWiki Install guide(\u5b98\u65b9)</a> <strong>\u8bf7\u9996\u5148\u53c2\u8003\u5b98\u65b9\u5b89\u88c5\u6587\u6863</strong></p>\n<p><a href=\"https://arch.icekylin.online/guide/\" rel=\"nofollow\">arch_icekylin \u7684\u535a\u5ba2(\u5e38\u89c1\u6559\u7a0b\uff0c\u57fa\u4e8e btrfs)</a></p>\n<p><a href=\"https://archlinuxstudio.github.io/ArchLinuxTutorial/\" rel=\"nofollow\">archlinuxstudio.github.io \uff08\u56fd\u5185\u4e0d\u53ef\u8fbe\uff09</a></p>\n<p><a href=\"https://www.bilibili.com/video/BV1LhfVB1EHE/\" rel=\"nofollow\">unixchad \u5168\u76d8\u52a0\u5bc6\u5b89\u88c5 Archlinux_bilibili</a></p>\n<h2>\u7b14\u8bb0\u672c\u914d\u7f6e\u5982\u4e0b\uff1a</h2>\n<ul>\n<li>\u673a\u68b0\u9769\u547d \u8000\u4e16 15pro i7-14650HX/RTX4060 32G/4T \u7f51\u5361 AX211</li>\n</ul>\n<h2>\u91c7\u7528\u7cfb\u7edf\u914d\u7f6e\u5982\u4e0b\uff1a</h2>\n<ul>\n<li>systemd-boot \u4f5c\u4e3a bootloader</li>\n<li>BIOS (UEFI): N.1.07MRO11 (5.27)</li>\n<li>Bootmgr: UEFI OS - BOOTX64.EFI</li>\n<li>Init System: systemd 260.2-2-arch</li>\n</ul>\n<hr/>\n<ul>\n<li>xfs \u6587\u4ef6\u7cfb\u7edf\uff08\u91c7\u7528 home \u5355\u72ec\u5206\u533a\uff0c<strong>\u5355\u7cfb\u7edf\u5171\u4e09\u4e2a\u5206\u533a</strong>\uff09\u2014\u2014<strong>\u4e0d\u91c7\u7528\u52a0\u5bc6</strong></li>\n<li>Archlinux \u505a\u4e3b\u4f53\u4f46\u91c7\u7528 linux-cachyos \u4f5c\u4e3a\u5185\u6838</li>\n<li>nvidia-open-dkms \u9a71\u52a8\uff08 cachyos \u4ed3\u5e93\u7248\u672c  610.43.02-3 \uff09</li>\n<li>KDE \u684c\u9762\u73af\u5883\uff08 plasma-6.6.5 \uff09</li>\n</ul>\n<hr/>\n<h1>\u5b89\u88c5\u8be6\u7ec6\u8fc7\u7a0b</h1>\n<h1>\u5b89\u88c5\u524d\u51c6\u5907</h1>\n<p><a href=\"https://archlinux.org/download/\" rel=\"nofollow\">ArchLinux \u5b98\u65b9 iso \u6e90</a>\n<a href=\"https://mirrors.ustc.edu.cn/archlinux/iso/\" rel=\"nofollow\">\u4e2d\u79d1\u5927\u955c\u50cf\u6e90(ustc)</a></p>\n<p><strong>\uff01\uff01\u8bf7\u6ce8\u610f\uff0c\u9996\u6b21\u5b89\u88c5\u65f6\u4e00\u5b9a\u8981\u5728 BIOS \u4e2d\u5173\u95ed\u5b89\u5168\u542f\u52a8\uff08 secure boot \uff09\uff01\uff01</strong></p>\n<p><strong>\uff01\uff01\u673a\u578b\u4e0e bios \u7248\u672c\u5404\u5f02\uff0c\u5982\u65e0\u52a0\u5bc6\u914d\u7f6e\uff0c\u5f00\u542f\u5b89\u5168\u542f\u52a8\u53ef\u80fd\u5bfc\u81f4\u5b89\u88c5\u5b8c\u6210\u540e\u65e0\u6cd5\u542f\u52a8\u5f15\u5bfc\uff01\uff01</strong></p>\n<p>\uff01\uff01<strong>\u4e0b\u8f7d iso \u540e\u52a1\u5fc5\u6821\u5bf9 sha256</strong>\uff01\uff01</p>\n<ul>\n<li>\u5efa\u8bae\u4f7f\u7528<strong>ventoy</strong>\u6765 dd \u4e00\u4e2a\u65b0\u7684\u5b89\u88c5 u \u76d8,\u81ea\u5e26\u591a iso \u9009\u62e9\uff0cu \u76d8\u7a7a\u95f4&gt;=2GB</li>\n<li>\u4f7f\u7528 ventoy \u683c\u5f0f\u5316 u \u76d8\u5e76\u76f4\u63a5\u590d\u5236 archlinux.iso \u6587\u4ef6\u5230 iso \u76d8\u4e2d\u3002\u5c06 iso \u590d\u5236\u8fdb\u5927\u7684\u76d8\u4e2d\u5373\u53ef</li>\n<li>\u5f00\u673a\u540e\u81ea\u52a8\u8fdb\u5165 ventoy \u9009\u62e9\u754c\u9762\u4e2d\uff0c\u5206\u8fa8\u7387\u9ed8\u8ba4\u8f83\u4f4e\u4f46\u4e0d\u5f71\u54cd\u4f7f\u7528\uff0c\u9009\u62e9 archlinux \u7684 iso \u6587\u4ef6\u540e\u4f1a\u81ea\u52a8\u88c5\u8f7d initramfs \u3002</li>\n</ul>\n<hr/>\n<h1>1. \u7f51\u7edc\u73af\u5883\u914d\u7f6e\uff08\u9488\u5bf9\u56fd\u5185\u7f51\u7edc\uff09</h1>\n<h2>\u7981\u7528\u955c\u50cf\u9009\u62e9\uff0c\u9632\u6b62\u955c\u50cf\u4e0d\u53ef\u8fbe</h2>\n<pre><code>systemctl stop reflector.service\nsystemctl status reflector.service\n</code></pre>\n<h2>\u786e\u8ba4\u8fdb\u5165 UEFI \u5b89\u88c5\u6a21\u5f0f\uff1a</h2>\n<pre><code>ls /sys/firmware/efi/efivars\n</code></pre>\n<ul>\n<li>\u9a8c\u8bc1\u542f\u52a8\u6a21\u5f0f\u4e3a UEFI \uff0c\u9700\u8981\u6709\u4e00\u7cfb\u5217\u53d8\u91cf\u8f93\u51fa</li>\n</ul>\n<h2>\u8fde\u63a5\u7f51\u7edc\u5e76\u77eb\u65f6</h2>\n<pre><code>ip ad \n# \u65e0\u7ebf\u7f51\u7edc\niwctl \ndevice list \nstation wlan0 scan \nstation wlan0 get-networks \nstation wlan0 connect \"Your-WiFi-SSID\"\n\n# \u6709\u7ebf\u7f51\u7edc\u76f4\u63a5\u63d2\u5165\u7f51\u7ebf\u5373\u53ef\nexit \n</code></pre>\n<ul>\n<li>\u6ce8\u610f\u6b64\u5904\u68c0\u67e5\u7f51\u5361\u4ee5\u53ca\u8bbe\u5907\uff0c\u5c1d\u8bd5 ping \u67e5\u770b\u8054\u7f51\u60c5\u51b5</li>\n</ul>\n<pre><code>ping www.bilibili.com\n</code></pre>\n<pre><code>## \u6821\u51c6\u65f6\u95f4\ntimedatectl status \ntimedatectl set-ntp true \ntimedatectl set-timezone Asia/Shanghai # \u6ce8\u610f\u6b64\u5904\u4ec5\u6709 Shanghai \u800c\u6ca1\u6709 beijing\n\ntimedatectl status \ndate ## \u67e5\u770b\u65f6\u95f4\n</code></pre>\n<h2>\u6362\u6e90</h2>\n<pre><code>vim /etc/pacman.d/mirrorlist\n</code></pre>\n<ul>\n<li>\u627e\u5230 China \u76f8\u5173\u955c\u50cf\u6e90\uff0c\u79fb\u52a8\u5230\u955c\u50cf\u5217\u8868\u9876\u7aef\u3002(\u6240\u5728\u5730\u5e7f\u5dde\u6df1\u5733\u6240\u4ee5\u9009\u4e86 SusTech)</li>\n<li>\u53ef\u81ea\u884c\u6dfb\u52a0 sustech \u955c\u50cf\u6e90\uff0c\u66f4\u6539 ustc \u955c\u50cf\u6e90\u540d\u79f0\u5373\u53ef</li>\n</ul>\n<pre><code>Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch\nServer = https://mirrors.sustech.edu.cn/archlinux/$repo/os/$arch\n</code></pre>\n<pre><code>## \u8f6f\u4ef6\u5305\u5bc6\u94a5\u521d\u59cb\u5316\npacman -Sy archlinux-keyring\npacman-key --init\npacman-key --populate\n\n## \u9009\u62e9\u6027\u66f4\u65b0\npacman -Su\n</code></pre>\n<ul>\n<li>\u6b64\u5904\u53ef\u80fd\u7531\u4e8e\u5bc6\u94a5\u9a8c\u8bc1\u95ee\u9898\u62a5\u9519\uff0c\u56de\u8f66\u8df3\u8fc7\u5185\u5bb9\u5373\u53ef\u3002</li>\n</ul>\n<pre><code>## \u6587\u672c\u7f16\u8f91\u5668\uff0cvim \u7cfb\u4e0e nano \u7cfb\uff0c\u5efa\u8bae\u4f18\u5148\u4f7f\u7528 micro,\u547d\u4ee4\u8f83\u6613\uff0c\u5982\u62a5\u9519\u53ef\u91c7\u7528 vim\n## \u4e0d\u4e00\u5b9a\u80fd\u8fdb\u884c\u526a\u5207\uff0c\u5efa\u8bae\u624b\u52a8\u8f93\u5165\n## micro\uff1a [ctrl+s]\u4fdd\u5b58 [ctrl+q]\u9000\u51fa [ctrl+x/c/v]\u526a\u5207/\u590d\u5236/\u7c98\u8d34 \n## vim\uff1a [:i enter]\u8fdb\u5165\u7f16\u8f91\u6a21\u5f0f [esc]\u9000\u51fa\u7f16\u8f91\u6a21\u5f0f [:wq!]\u4fdd\u5b58\u5e76\u9000\u51fa \npacman -Sy vim micro\n</code></pre>\n<hr/>\n<h1>2.\u5206\u533a\u3001\u683c\u5f0f\u5316\u4e0e\u6302\u8f7d</h1>\n<pre><code>lsblk -lf\ndf -hT       ## \u4ee5\u4eba\u7c7b\u53ef\u8bfb\u65b9\u5f0f\u8f93\u51fa\u6302\u8f7d\u60c5\u51b5\nfdisk -l     ## \u67e5\u770b\u5f53\u524d\u78c1\u76d8\u5206\u533a\u4e0e\u6302\u8f7d\u7ed3\u6784\n</code></pre>\n<h2>\u5206\u533a</h2>\n<pre><code>## \u8bf7\u6839\u636e\u4e0a\u8ff0 fdisk \u4e2d\u7684\u6302\u8f7d\u60c5\u51b5\uff0c\u6253\u5f00\u8c03\u6574\u78c1\u76d8\u7a7a\u95f4\u7684 TUI \u754c\u9762\ncfdisk /dev/nvme0n1 \n## cfdisk /dev/sdax ## \u6b64\u5904 x \u4e3a\u78c1\u76d8\u5e8f\u53f7\uff0c\u8bf7\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u8fdb\u884c\u8c03\u6574\uff01\uff01\u53ef\u53c2\u8003\u7b14\u8005\u7684 fdisk -l \u8f93\u51fa\n</code></pre>\n<pre><code>fdisk -l\n\nDisk /dev/nvme0n1\uff1a3.73 TiB \uff0c4096805658624 \u5b57\u8282\uff0c8001573552 \u4e2a\u6247\u533a\n\u78c1\u76d8\u578b\u53f7\uff1aZHITAI TiPlus7100 4TB                   \n\u5355\u5143\uff1a\u6247\u533a / 1 * 512 = 512 \u5b57\u8282\n\u6247\u533a\u5927\u5c0f(\u903b\u8f91/\u7269\u7406)\uff1a512 \u5b57\u8282 / 512 \u5b57\u8282\nI/O \u5927\u5c0f(\u6700\u5c0f/\u6700\u4f73)\uff1a512 \u5b57\u8282 / 512 \u5b57\u8282\n\u78c1\u76d8\u6807\u7b7e\u7c7b\u578b\uff1agpt\n\u78c1\u76d8\u6807\u8bc6\u7b26\uff1aE7C8BF28-59BD-49D0-818F-A6B9CF592DB3\n\u8bbe\u5907                 \u8d77\u70b9       \u672b\u5c3e       \u6247\u533a      \u5927\u5c0f  \u7c7b\u578b\n/dev/nvme0n1p1       2048    2099199    2097152   1G    EFI \u7cfb\u7edf\n/dev/nvme0n1p2    2099200 6444550143 6442450944   xxxG  Linux \u6587\u4ef6\u7cfb\u7edf\n/dev/nvme0n1p3 6444550144 8001572863 1557022720   xxxG  Linux \u6587\u4ef6\u7cfb\u7edf\n</code></pre>\n<ul>\n<li>\u6b64\u5904\u9700\u8981\u6ce8\u610f\uff0cnvme \u53ca sd \u4e3a\u78c1\u76d8\u7c7b\u578b\u6807\u8bc6\u3002</li>\n<li>\u5bf9 nvme \u786c\u76d8\u800c\u8a00\uff0cn1 \u3001n2 \u8868\u793a\u786c\u76d8\u4f4d\uff0c\u751f\u6210\u7684\u5206\u533a\u4f7f\u7528 p1 \u3001p2 \u7b49\u6309\u7167\u987a\u5e8f\u8868\u793a.\u4f8b\u5982\u7b14\u8005\u672c\u4eba\u7684\u786c\u76d8\u6807\u8bc6\u4e0e\u5206\u533a\u60c5\u51b5\n\uff08<strong>\u56fe\u7247\u4e3a\u4f7f\u7528 cfdisk /dev/nvme0n1 \u547d\u4ee4\u540e\u7684\u7ed3\u679c</strong>\uff09\n<img alt=\"image\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://cdn.nodeimage.com/i/9Zig8gTzBvqfOPaBdcX5DEPy165YBofw.png\"/></li>\n</ul>\n<blockquote>\n<ul>\n<li>\u5bf9 ssd \u786c\u76d8\u800c\u8a00\uff08\u865a\u62df\u673a\u540c\u7406\uff09\uff0c\u4f7f\u7528 sda \u3001sdb \u3001sdc \u7b49\u8868\u793a\u786c\u76d8\u4f4d\uff0c\u6570\u5b57\u8868\u793a\u5206\u533a\uff08\u4f8b\u5982 sda1 \u7b49\uff09</li>\n</ul>\n</blockquote>\n<ul>\n<li>\u5efa\u8bae\u64cd\u4f5c\u987a\u5e8f\uff1a\n1 \u5148\u5b8c\u5168\u5220\u9664\u6240\u6709\u5206\u533a\uff0c\u518d\u65b0\u5efa\u65b0\u7684\u5206\u533a\n2 \u65b0\u5efa\u5206\u533a\u65f6\uff0c\u6ce8\u610f\u8bbe\u7f6e\u597d\u5206\u533a\u7c7b\u578b\n3 \u6700\u540e\u9000\u51fa\u524d\uff0c\u4e00\u5b9a\u8981\u201cWRITE\u201d\u5199\u5165\u81ea\u5df1\u7684\u5206\u533a\u64cd\u4f5c</li>\n</ul>\n<h3><strong>\u78c1\u76d8\u5206\u533a\u5efa\u8bae\u5927\u5c0f</strong></h3>\n<table>\n<thead>\n<tr>\n<th>\u5206\u533a\u540d</th>\n<th>\u6302\u8f7d\u70b9</th>\n<th>\u5927\u5c0f</th>\n<th>GPT \u7c7b\u578b</th>\n<th>\u6587\u4ef6\u7cfb\u7edf</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>/dev/nvme0n1p1</td>\n<td>/boot</td>\n<td>2G</td>\n<td>EFI System</td>\n<td>FAT32</td>\n</tr>\n<tr>\n<td>/dev/nvme0n1p2</td>\n<td>/</td>\n<td>256G</td>\n<td>Linux filesystem</td>\n<td>XFS</td>\n</tr>\n<tr>\n<td>/dev/nvme0n1p3</td>\n<td>/home</td>\n<td>remains</td>\n<td>Linux filesystem</td>\n<td>XFS</td>\n</tr>\n</tbody></table><ul>\n<li>\u7a7a\u95f4\u5927\u5c0f\u6839\u636e\u9700\u6c42\u8c03\u6574\uff0c/boot \u5206\u533a\u6700\u597d\u5927\u4e8e<strong>512M</strong>,\u6839\u5206\u533a\u5927\u4e8e<strong>80G</strong></li>\n</ul>\n<hr/>\n<h2>\u683c\u5f0f\u5316</h2>\n<pre><code>mkfs.fat -F32 -n BOOT /dev/nvme0n1p1\nmkfs.xfs -L ROOT /dev/nvme0n1p2\nmkfs.xfs -L HOME /dev/nvme0n1p3\n</code></pre>\n<ul>\n<li>\u5982\u683c\u5f0f\u5316\u9519\u6216\u63d0\u793a\u5df2\u6709\u6587\u4ef6\u7cfb\u7edf\uff0c\u53ef\u91c7\u7528 -f \u6807\u7b7e\u6765\u5f3a\u5236\u6267\u884c</li>\n</ul>\n<pre><code>mkfs.fat -F32 -nf BOOT /dev/nvme0n1p1\n## xfs \u6587\u4ef6\u7cfb\u7edf\u540c\u7406\n</code></pre>\n<ul>\n<li>\u5bf9 ext4 \uff0c\u53ef\u4f7f\u7528 -n \u6765\u4e3a\u5206\u533a\u547d\u540d\u5e76\u6dfb\u52a0\u6807\u7b7e</li>\n<li>\u5bf9 xfs \uff0c\u53ef\u4f7f\u7528 -L \u6765\u4e3a\u5206\u533a\u547d\u540d\u5e76\u6dfb\u52a0\u6807\u7b7e</li>\n</ul>\n<hr/>\n<h2>\u6302\u8f7d</h2>\n<pre><code>mount /dev/nvme0n1p2 /mnt\n## \u4e00\u5b9a\u8981\u5148\u5c06\u6839\u5206\u533a\u6302\u8f7d\u5230/mnt \u4e2d\uff01\n\nmkdir -p /mnt/home /mnt/boot\nmount /dev/nvme0n1p3 /mnt/home\nmount /dev/nvme0n1p1 /mnt/boot\n</code></pre>\n<ul>\n<li>\u53ef\u4ee5\u5728\u6b64\u5904\u601d\u8003\u591a\u5206\u533a\u60c5\u51b5\u4e0b\u6302\u8f7d\u7684\u62d3\u6251\u7ed3\u6784,\u4f7f\u7528<strong>fdisk -l</strong>\u67e5\u770b\u6302\u8f7d\u60c5\u51b5</li>\n</ul>\n<hr/>\n<h1>3.\u7cfb\u7edf\u524d\u671f\u51c6\u5907\uff08\u66f4\u6362\u4e3a cachyos \u5185\u6838\u53ca v3/v4 \u7f16\u8bd1\u7248\u672c\uff09</h1>\n<h2>(1) \u5bc6\u94a5\u521d\u59cb\u5316</h2>\n<pre><code>pacman-key --init\npacman-key --populate\npacman -Syy\n</code></pre>\n<pre><code>curl https://mirror.cachyos.org/cachyos-repo.tar.xz -o cachyos.tar.xz\ntar xvf cachyos.tar.xz\ncd cachyos-repo\n./cachyos-repo.sh\n</code></pre>\n<ul>\n<li>\u5728\u8fd9\u4e00\u6b65\u53ea\u9700\u8981\u66f4\u65b0\u5bc6\u94a5\u53ca\u955c\u50cf\u5217\u8868</li>\n</ul>\n<h2>(2) \u68c0\u67e5 CPU \u67b6\u6784\u53ca\u652f\u6301\u60c5\u51b5\uff0c\u6839\u636e\u652f\u6301\u60c5\u51b5\u4fee\u6539\u4ed3\u5e93\u5217\u8868</h2>\n<pre><code>/lib/ld-linux-x86-64.so.2 --help | grep 'supported'\n## \u4f1a\u5f97\u5230\uff1a\n  x86-64-v4 (supported, searched)\n  x86-64-v3 (supported, searched)\n  x86-64-v2 (supported, searched)\n## \u6839\u636e\u6700\u9ad8\u7b49\u7ea7\u7684\u6765\u786e\u5b9a\u4ed3\u5e93\u9009\u62e9\n</code></pre>\n<pre><code>micro /etc/pacman.d/cachyos-mirrorlist \nmicro /etc/pacman.d/cachyos-v3-mirrorlist \n## \u5728\u6b64\u5904\u786e\u5b9a\u4ed3\u5e93\uff0c\u9009\u62e9 v3 \u6216 v4\n</code></pre>\n<ul>\n<li>\u66f4\u6539\u955c\u50cf\u5217\u8868\u5185\u955c\u50cf\u7ad9\u7684\u987a\u5e8f\uff0c\u4ee5\u4fbf\u5feb\u901f\u4e0b\u8f7d\u8f6f\u4ef6\u5305</li>\n</ul>\n<h2>(3) \u9700\u8981\u5b89\u88c5\u7684\u5305</h2>\n<pre><code>base base-devel \t\t\t\t   ## \u57fa\u672c\u7ec4\u4ef6\nlinux-firmware linux-cachyos linux-cachyos-headers ## \u5185\u6838\u4e0e\u56fa\u4ef6\ndkms mkinitcpio intel-ucode(\u6216\u8005 amd-ucode) \t   ## \u4e3a\u663e\u5361\u9a71\u52a8\u6a21\u5757\u505a\u51c6\u5907\nxfsprogs exfatprogs \t\t\t\t   ## \u6587\u4ef6\u7cfb\u7edf\u5305\nneovim micro bash-completion networkmanager \t   ## \u7f51\u7edc\u4e0e\u6587\u672c\u7f16\u8f91\u3001\u8865\u5168\nhaveged ## \u52a0\u89e3\u5bc6\u6027\u80fd\u4f18\u5316\n</code></pre>\n<ul>\n<li>\u6ce8\u610f\u5fae\u7801(ucode)\u7684\u9009\u62e9\u4e0e\u6587\u4ef6\u7cfb\u7edf\u7684\u9009\u62e9</li>\n<li>neovim \u4e0e micro \u4e3a\u5efa\u8bae\u4f7f\u7528\u7684\u4e24\u7c7b\u7f16\u8f91\u5668</li>\n<li>\u6b64\u5904\u5df2\u7ecf\u9009\u62e9\u4e86 cachyos \u4f18\u5316\u540e\u7684\u5185\u6838</li>\n</ul>\n<pre><code>pacstrap -K /mnt \u201c\u4e0a\u8ff0\u8f6f\u4ef6\u5305\u201d\n## \u8bf7\u6309\u7167\u5b9e\u673a\u60c5\u51b5\u9009\u62e9\n</code></pre>\n<blockquote>\n<p><strong>\u6b64\u5904\u4e3a\u7b2c\u4e00\u6b21\u5b89\u88c5\u76f8\u5173\u7ec4\u4ef6\u5305</strong></p>\n</blockquote>\n<h2>(4)<strong>\u751f\u6210 fstab \u6302\u8f7d\u8868</strong></h2>\n<pre><code>genfstab -U /mnt &gt;&gt; /mnt/etc/fstab\n</code></pre>\n<ul>\n<li><code>-U</code>\u53c2\u6570\u53ef\u786e\u4fdd\u7cfb\u7edf\u901a\u8fc7 UUID \u6765\u8bc6\u522b\u5206\u533a\uff0c\u6bd4\u901a\u8fc7\u8bbe\u5907\u540d\u6302\u8f7d\u66f4\u7a33\u5b9a\u53ef\u9760</li>\n</ul>\n<pre><code>cat /mnt/etc/fstab\n## \u6700\u540e\u4e00\u5b9a\u8bb0\u5f97\u68c0\u67e5 fstab \u6587\u4ef6\u662f\u5426\u88ab\u6b63\u786e\u751f\u6210\uff01\uff01\n</code></pre>\n<hr/>\n<h1>4.Chroot \u914d\u7f6e\u57fa\u672c\u73af\u5883</h1>\n<pre><code>arch-chroot /mnt ## \u8fdb\u5165\u6302\u8f7d\u597d\u7684\u7cfb\u7edf\n</code></pre>\n<h2>(1) \u65f6\u533a\u4e0e\u8bed\u8a00\u4fe1\u606f</h2>\n<pre><code>ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime ## \u521b\u5efa\u65f6\u533a\u8f6f\u94fe\u63a5\nhwclock --systohc \t\t\t\t\t## \u5c06\u786c\u4ef6\u65f6\u95f4\u540c\u6b65\u81f3\u7cfb\u7edf\u65f6\u949f\n</code></pre>\n<ul>\n<li>\u6ce8\u610f\u65f6\u533a\u4fe1\u606f\u6ca1\u6709\u5317\u4eac\uff0c\u53ea\u6709\u4e0a\u6d77</li>\n</ul>\n<pre><code>timedatectl status \ntimedatectl set-ntp true \ntimedatectl set-timezone Asia/Shanghai\ntimedatectl status \ndate\n\n## \u540c\u7406\uff0c\u8bbe\u7f6e\u7cfb\u7edf\u65f6\u95f4 \n</code></pre>\n<h2>(2) locale.gen</h2>\n<pre><code>micro /etc/locale.gen\n</code></pre>\n<pre><code>\u627e\u5230\u81ea\u5df1\u6240\u5728\u5730\u7684\u8bed\u8a00\u5e76\u53d6\u6d88\u6389\u6ce8\u91ca\uff08\u5373\u5220\u9664\u524d\u9762\u7684#\u53f7\uff09\nen_US.UTF-8 UTF-8 \uff08**\u82f1\u6587\uff0c\u6b64\u5904\u5fc5\u987b\u4f7f\u7528\uff01\uff01**\uff09\nzh_CN.UTF-8 UTF-8 \uff08\u7b80\u4f53\u4e2d\u6587\uff09\nes_ES.UTF-8 UTF-8 \uff08\u897f\u73ed\u7259\u8bed\uff09\nzh_HK.UTF-8 UTF-8 \uff08\u7e41\u4f53\u4e2d\u6587\uff09 \n- \u8bed\u8a00\u6309\u9700\u53d6\u6d88\u6ce8\u91ca\n</code></pre>\n<pre><code>locale-gen \t\t\t\t   ## \u751f\u6210\u8bed\u8a00\u914d\u7f6e\u6587\u4ef6\necho 'LANG=en_US.UTF-8' &gt; /etc/locale.conf ## \u5c06\u8bed\u8a00\u914d\u7f6e\u6587\u4ef6\u5bfc\u5165\u81f3 conf\ncat  /etc/locale.conf \t\t\t   ## \u67e5\u770b\u662f\u5426\u5bfc\u5165\u6210\u529f\n</code></pre>\n<h2>(3) \u4e3b\u673a\u540d\u4e0e\u672c\u5730\u56de\u73af\u5730\u5740</h2>\n<pre><code>micro /etc/hostname\n</code></pre>\n<ul>\n<li>\u6b64\u5904\u586b\u5199\u81ea\u5b9a\u4e49\u4e3b\u673a\u540d\uff0c\u4f8b\u5982 <strong>MyArch</strong></li>\n</ul>\n<pre><code>micro /etc/hosts ## \u7f16\u8f91\u672c\u5730\u56de\u73af\u5730\u5740\n</code></pre>\n<pre><code>127.0.0.1\tlocalhost\n::1\t\tlocalhost\n127.0.1.1\tMyArch.localdomain\tMyArch\n</code></pre>\n<h2>(4) \u6362\u6e90</h2>\n<pre><code>micro /etc/pacman.d/mirrorlist\n</code></pre>\n<pre><code>Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch\nServer = https://mirrors.sustech.edu.cn/archlinux/$repo/os/$arch\n</code></pre>\n<pre><code>pacman -Sy archlinux-keyring\npacman-key --init\npacman-key --populate\n</code></pre>\n<h2>(5) \u8f6f\u4ef6\u5305\u4ed3\u5e93\u914d\u7f6e</h2>\n<pre><code>curl https://mirror.cachyos.org/cachyos-repo.tar.xz -o cachyos.tar.xz\ntar xvf cachyos.tar.xz\ncd cachyos-repo\n./cachyos-repo.sh\n## \u540c\u7406\uff0c\u5728\u8fd9\u4e00\u6b65\u53ea\u9700\u8981\u66f4\u65b0\u5bc6\u94a5\u53ca\u955c\u50cf\u5217\u8868\n## \u4e0d\u5fc5\u5b8c\u5168\u66f4\u65b0\u6240\u6709\u5305\uff0c\u56e0\u4e3a\u955c\u50cf\u6e90\u987a\u5e8f\u672a\u8c03\u6574\n</code></pre>\n<pre><code>micro /etc/pacman.d/cachyos-mirrorlist \nmicro /etc/pacman.d/cachyos-v3-mirrorlist \n## \u66f4\u6539\u955c\u50cf\u5217\u8868\u5185\u955c\u50cf\u7ad9\u7684\u987a\u5e8f\uff0c\u5c06 china \u5217\u8868\u7684\u955c\u50cf\u6e90\u79fb\u52a8\u81f3\u5f00\u5934\uff08\u6ce8\u610f\u4ed3\u5e93\u7248\u672c\u53f7\uff09\n</code></pre>\n<pre><code>./cachyos-repo.sh\n## \u518d\u6267\u884c\u4e00\u6b21\u4ee5\u4fbf\u66f4\u65b0\u6240\u6709\u5305\n</code></pre>\n<pre><code>micro /etc/pacman.conf\n</code></pre>\n<ul>\n<li>\u53d6\u6d88\u6ce8\u91ca color (ILOVECADDY \uff09\u7b49\u8fdb\u5ea6\u6761\u9879\u76ee,\u7b14\u8005\u7684\u914d\u7f6e:</li>\n</ul>\n<pre><code># Misc options\nUseSyslog\nColor\n#NoProgressBar\nPrettyProgressBar\n#ILoveCandy\nCheckSpace\nVerbosePkgLists\nParallelDownloads = 9\nDownloadUser = alpm\n#DisableSandbox\n</code></pre>\n<hr/>\n<h1>5.\u914d\u7f6e Bootloader(systemd-boot \u65b9\u6848)</h1>\n<pre><code>bootctl install \t## \u68c0\u7d22\u5df2\u5b89\u88c5\u7684\u5185\u6838\uff0c\u751f\u6210 boot \u52a0\u8f7d\u9879\nbootctl update \t\t## \u66f4\u65b0\u5185\u6838\u7684\u52a0\u8f7d\u9879\nbootctl list \t\t## \u5217\u51fa\u5df2\u6709\u7684\u5f15\u5bfc\u52a0\u8f7d\u6761\u76ee\n</code></pre>\n<h2>(1) \u9ed8\u8ba4\u5f15\u5bfc\u9879\u8bbe\u7f6e</h2>\n<pre><code>micro /boot/loader/loader.conf\n</code></pre>\n<ul>\n<li>\u7f16\u8f91 config \u6587\u4ef6\u4e3a\uff1a</li>\n</ul>\n<pre><code>default Arch_Cachyos.conf\ntimeout 5\nconsole-mode keep\neditor yes\n</code></pre>\n<ul>\n<li>\u6ce8\u610f<code>default</code> \u5904\u7684\u6587\u4ef6\u540d\uff0c\u6309\u7167\u5185\u6838\u7684\u4fe1\u606f\u8fdb\u884c\u914d\u7f6e\u3002\u53ef\u81ea\u5b9a\u4e49\uff0c\u4f46\u9700\u8981\u5339\u914d</li>\n<li><code>timeout</code> \u6307\u52a0\u8f7d\u9879\u7b49\u5f85\u65f6\u95f4</li>\n<li><code>console-mode</code> \u6307\u5206\u8fa8\u7387\u6a21\u5f0f\uff0c\u5efa\u8bae keep</li>\n</ul>\n<h2>(2) \u5f15\u5bfc\u9879\u6587\u4ef6\u521b\u5efa</h2>\n<pre><code>blkid -s UUID\n## \u6b64\u547d\u4ee4\u67e5\u770b UUID \u53f7\n</code></pre>\n<pre><code>micro /boot/loader/entries/Arch_Cachyos.conf\n## \u6ce8\u610f\u6b64\u5904\u6587\u4ef6\u540d\uff0c\u8981\u4e0e loader.conf \u4e2d\u7684\u6587\u4ef6\u540d\u76f8\u5339\u914d\n</code></pre>\n<ul>\n<li>\u6587\u4ef6\u4e2d\u7684\u5185\u5bb9\u5982\u4e0b</li>\n</ul>\n<pre><code>title Arch CachyOS ## \u53ef\u81ea\u5b9a\u4e49\nlinux /vmlinuz-linux-cachyos\ninitrd /intel-ucode.img\ninitrd /initramfs-linux-cachyos.img\noptions root=UUID=&lt;UUID&gt; rw nvidia_drm.modeset=1 nvidia_drm.fbdev=1 ibt=off zswap.enabled=1 zswap.compressor=zstd zswap.max_pool_percent=30  loglevel=5\u00a0\n</code></pre>\n<p><strong>\u6ce8\u610f&lt;UUID&gt;\u9700\u8981\u6309\u7167\u5b9e\u9645\u6839\u5206\u533a UUID \u53f7\u586b\u5199\uff01\uff01\uff01\uff01</strong></p>\n<ul>\n<li>\u5e76\u4e14\u8bf7\u6ce8\u610f\u201coptions\u201d\u8fd9\u4e00\u9879\uff0c\u5355\u8bcd\u4e0d\u8981\u62fc\u5199\u9519\u8bef\uff01\uff01</li>\n<li><code>nvidia_drm.modeset=1</code>\t\u5fc5\u9700\u3002\u542f\u7528 DRM (Direct Rendering Manager) \u5185\u6838\u6a21\u5f0f\u8bbe\u7f6e\uff0c\u8fd9\u662f Wayland \u4f1a\u8bdd\u7684\u5148\u51b3\u6761\u4ef6\u3002</li>\n<li><code>nvidia_drm.fbdev=1</code>\t\u5f3a\u5236 Nvidia \u9a71\u52a8\u63a5\u7ba1\u5e27\u7f13\u51b2\u8bbe\u5907 (framebuffer)\u3002\u5728\u8f83\u65b0\u5185\u6838\u4e2d\uff0c\u53ef\u4ee5\u89e3\u51b3 simpledrm \u4e0e Nvidia \u9a71\u52a8\u51b2\u7a81\u5bfc\u81f4\u7684\u542f\u52a8\u6302\u8d77\u6216\u9ed1\u5c4f\u95ee\u9898 \u3002 \u00a0 </li>\n<li><code>ibt=off</code>\t\u5173\u95ed\u95f4\u63a5\u5206\u652f\u8ddf\u8e2a (Indirect Branch Tracking)\u3002\u8fd9\u662f\u4e00\u4e2a\u9488\u5bf9\u8f83\u65b0 Intel CPU \u7684\u5e38\u89c1\u517c\u5bb9\u6027\u4fee\u590d\uff0c\u53ef\u89e3\u51b3 Nvidia \u9a71\u52a8\u52a0\u8f7d\u5931\u8d25\u7684\u95ee\u9898\u3002</li>\n<li><code>zswap.enabled=1 zswap.compressor=zstd zswap.max_pool_percent=30</code> \u5f00\u542f ZSWAP \uff0c\u7565\u5fae\u589e\u52a0 CPU \u529f\u8017\u4e0e\u5360\u7528\uff0c\u63d0\u5347 RAM \u5229\u7528\u7387\u4e0e\u6027\u80fd\u3002</li>\n<li><code>loglevel=5</code>\t\u8bbe\u7f6e\u65e5\u5fd7\u8bb0\u5f55\u767b\u8bb0\uff0c5 \u8868\u793a info \u7ea7\u522b\u7684\u8bb0\u5f55\uff0c\u6709\u5229\u4e8e debug.</li>\n</ul>\n<pre><code>bootctl install \t\nbootctl update \t\t\nbootctl list \t\t\n\u518d\u6267\u884c\u4e00\u904d\u4ee5\u786e\u4fdd boot \u5206\u533a\u4e2d\u5b58\u5728\u52a0\u8f7d\u9879\n</code></pre>\n<h1>6.\u91cd\u542f\u8fdb\u5165\u7cfb\u7edf\u524d\u7684\u51c6\u5907</h1>\n<h2>(1) \u7528\u6237\u914d\u7f6e</h2>\n<pre><code>passwd root\t\t\t\t\t## \u8bbe\u7f6e root \u5bc6\u7801\n</code></pre>\n<pre><code>useradd -m -G wheel -s /bin/zsh Username\t## \u8bbe\u7f6e\u666e\u901a\u7528\u6237\u540d\uff0c\u81ea\u5b9a\u4e49\n</code></pre>\n<pre><code>passwd Username\t\t\t\t\t## \u4e3a\u666e\u901a\u7528\u6237\u8bbe\u7f6e\u5bc6\u7801\n</code></pre>\n<pre><code>EDITOR=vim visudo\t\t\t\t## \u7f16\u8f91\u666e\u901a\u7528\u6237\u7684\u6743\u9650\n</code></pre>\n<ul>\n<li>\u53d6\u6d88\u6ce8\u91ca %wheel ALL=(ALL:ALL) ALL NOPASSWD:ALL \uff08\u4e00\u673a\u4e00\u7528\u6237\u4f7f\u7528\u61d2\u5f97\u8f93\u5bc6\u7801\uff09</li>\n<li>\u6216\u8005%wheel ALL=(ALL:ALL) ALL ALL  \uff08\u5b89\u5168\u6027\u9ad8\u4e00\u4e9b\uff09</li>\n</ul>\n<h2>(2) \u663e\u5361\u9a71\u52a8\u88c5\u8f7d</h2>\n<pre><code>pacman -Syyu nvidia-open-dkms nvidia-settings nvtop nvidia-utils \\  ##\u8fd9\u4e00\u884c\u5fc5\u987b\u5b89\u88c5\nlibva-nvidia-driver libvdpau opencl-nvidia ##\u8fd9\u4e00\u884c\u9009\u62e9\u6027\u5b89\u88c5\n\n</code></pre>\n<pre><code>micro /etc/mkinitcpio.conf\n</code></pre>\n<ul>\n<li>\n<p>\u786e\u4fdd\u6587\u4ef6\u4e2d<code>MODULES</code>\u5305\u542b\u4ee5\u4e0b\u90e8\u5206\uff1a</p>\n</li>\n<li>\n<p>MODULES=(nvidia nvidia_drm nvidia_uvm nvidia_modeset)</p>\n</li>\n<li>\n<p>\u786e\u8ba4\u94a9\u5b50\u5b8c\u6574\u6027</p>\n</li>\n</ul>\n<pre><code>HOOKS=(base systemd udev microcode autodetect modconf kms keyboard keymap block filesystems fsck)\n</code></pre>\n<pre><code>mkinitcpio -P \t\t## \u91cd\u65b0\u7f16\u8bd1\u6a21\u5757\u8fdb\u5165\u5185\u6838\n</code></pre>\n<h2>(3) \u57fa\u672c\u8fd0\u884c\u7ec4\u4ef6</h2>\n<pre><code>pacman -Syyu paru fastfetch htop yazi fd git foot networkmanager  emptty\n</code></pre>\n<ul>\n<li><code>paru</code>\t\u4e3a AUR \u52a9\u624b\uff0c\u53ef\u7528\u4e8e\u5e2e\u52a9\u5b89\u88c5\u4ed3\u5e93\u4e2d\u7684\u8f6f\u4ef6\u5305\uff08 RUST \uff09</li>\n<li><code>fastfetch</code>\t\u53ef\u5c55\u793a\u5f53\u524d\u7cfb\u7edf\u6982\u51b5</li>\n<li><code>htop</code>\t\u5c55\u793a\u5f53\u524d\u7cfb\u7edf CPU \u3001RAM \u7b49\u5360\u7528\u60c5\u51b5 </li>\n<li><code>yazi</code>\t\u4e3a TUI \u6587\u4ef6\u7ba1\u7406\u5668\uff0c\u53ef\u4ee5\u5728\u7ec8\u7aef\u7ba1\u7406\u5668\u4e2d\u5c55\u793a\u5f53\u524d\u6587\u4ef6\u5939\u4e0b\u7684\u60c5\u51b5 \uff08 RUST \uff09</li>\n<li><code>foot</code>\tC \u8bed\u8a00\u7f16\u5199\u7684 wayland \u4e0b\u7684\u7ec8\u7aef\u6a21\u62df\u5668\uff0c\u5b8c\u5168\u57fa\u4e8e CPU \u8fdb\u884c\u8fd0\u7b97\u4e0e\u6e32\u67d3</li>\n<li><code>emptty</code>\tCLI \u767b\u9646\u4f1a\u8bdd\u7ba1\u7406\u5668\uff0c\u76f8\u6bd4\u4e8e sddm \u66f4\u52a0\u8f7b\u91cf\u7b80\u6d01\u3002 </li>\n</ul>\n<pre><code>systemctl enable emptty.service\nsystemctl enable NetworkManager\nsystemctl enable haveged\nsystemctl status NetworkManager\n## \u6253\u5f00\u5e38\u7528\u670d\u52a1\u7684\u5f00\u673a\u81ea\u542f\n</code></pre>\n<h2>(4) \u8f6f\u4ef6\u4ed3\u5e93\u652f\u6301(\u5982\u679c\u4e0d\u60f3\u957f\u671f\u6302\u4ee3\u7406\u7684\u8bdd\u53ef\u52a0\u5165\uff0c\u8ffd\u6c42\u81f3\u9ad8\u9690\u79c1\u4e0e\u5b89\u5168\u5efa\u8bae\u4e0d\u52a0)</h2>\n<pre><code>micro /etc/pacman.conf\n</code></pre>\n<pre><code>## \u5728\u6587\u672b\u52a0\u5165\n[archlinuxcn]\nServer = https://mirrors.sustech.edu.cn/archlinuxcn/$arch\nServer = https://mirrors.ustc.edu.cn/archlinuxcn/$arch\n</code></pre>\n<pre><code>pacman -Syy archlinuxcn-keyring\npacman-key --init\npacman-key --populate\n## \u52a0\u5165\u4ed3\u5e93\u540e\u9700\u91cd\u65b0\u521d\u59cb\u5316\u5bc6\u94a5\uff0c\u5e76\u4e14\u7b7e\u5165 archlinuxcn \u4ed3\u5e93\u7684\u5bc6\u94a5\n</code></pre>\n<h2>(5) \u521b\u5efa\u4ea4\u6362\u6587\u4ef6 (28G)_ \u76f8\u5bf9\u4e8e 32GB \u5185\u5b58\u7684\u9009\u62e9\uff0c\u53ef\u81ea\u884c\u8c03\u6574</h2>\n<pre><code>cd /\ndd if=/dev/zero of=/swapfile bs=1M count=16384 status=progress ## \u521b\u5efa 16GB \u7684\u4ea4\u6362\u6587\u4ef6\nchmod 600 /swapfile\t\t\t\t## \u4fee\u6539 swapfile \u6587\u4ef6\u6743\u9650\nmkswap /swapfile\nswapon /swapfile\necho '/swapfile none swap defaults 0 0' &gt;&gt; /etc/fstab\n\nfree -h\nswapon --show\ncat /etc/fstab\n## \u786e\u8ba4 fstab \u6587\u4ef6\u4e2d\u6709 swapfile \u7684\u76f8\u5173\u4fe1\u606f\n</code></pre>\n<h1>7.\u57fa\u672c\u684c\u9762\u7ec4\u4ef6\u5b89\u88c5\u4e0e\u914d\u7f6e\uff1a(KDE \u684c\u9762)\u2014\u2014\u53ef\u4ee5\u7b49\u91cd\u542f\u540e\u5b89\u88c5</h1>\n<pre><code>pacman -S plasma-desktop dolphin power-profiles-daemon ark plasma-nm kscreen kwallet-pam spectacle\n## \t(\u5efa\u8bae\u7684)\u57fa\u672c\u684c\u9762\u7ec4\u4ef6\n</code></pre>\n<pre><code>pacman -Sy pipewire pipewire-audio pipewire-pulse wireplumber  plasma-pa alsa-firmware\n## \u57fa\u672c\u97f3\u9891\u5957\u4ef6\n</code></pre>\n<pre><code>pacman -Sy bluez bluez-utils bluedevil blueman\n## \u84dd\u7259\u5957\u4ef6\n## \u5305\u62ec\u4e2a\u4eba\u63a8\u8350\u7684\u57fa\u4e8e GTK \u7684 GUI \u84dd\u7259\u7ba1\u7406\u8f6f\u4ef6 blueman\n</code></pre>\n<pre><code>systemctl enable bluetooth.service\nsystemctl enable power-profiles-daemon.service\n## \u5957\u4ef6\u81ea\u542f\u52a8\n</code></pre>\n<h1>8. \u5378\u8f7d\u78c1\u76d8\uff0c\u51c6\u5907\u8fdb\u5165\u684c\u9762\u7cfb\u7edf\u8fdb\u4e00\u6b65\u914d\u7f6e</h1>\n<ul>\n<li>\u5728\u6b64\u4e4b\u524d\uff0c\u8bf7\u8bb0\u5f97\u5220\u9664\u4e4b\u524d\u4e3a\u4e86\u5f15\u5165 cachyos \u4ed3\u5e93\u800c\u4e0b\u8f7d\u7684 cachyos.tar.xz \u7b49\u5305</li>\n</ul>\n<pre><code>cd /\nrm -fr cachyos.tar.xz cachyos-repo\n</code></pre>\n<pre><code>exit\numount -R /mnt ## \u6216\u8005 umount -Rl /mnt \nreboot\n</code></pre>\n<ul>\n<li>\u6b64\u5904\u5982\u679c\u663e\u793a target is busy \uff0c\u53ef\u4ee5\u91c7\u7528 -l \u6807\u7b7e\u5b9e\u73b0\u201c\u60f0\u6027\u5378\u8f7d\u201d</li>\n<li>\u6267\u884c reboot \u6307\u4ee4\u65f6\u9700\u8981\u8bb0\u5f97\u62d4\u51fa\u542f\u52a8\u76d8\uff0c\u4ee5\u8fdb\u5165\u5f15\u5bfc\u754c\u9762</li>\n</ul>\n<h2>\u540e\u8bb0</h2>\n<ul>\n<li>\u4e0a\u8ff0\u5185\u5bb9\u53ea\u662f\u6211\u66fe\u7ecf\u5728\u53c2\u9605\u4e86\u4f17\u591a\u5b89\u88c5\u6559\u7a0b\u540e\u6574\u7406\u51fa\u6765\u7684\u4e00\u4efd\u9002\u5408\u7b14\u8005\u81ea\u5df1\u786c\u4ef6\u8bbe\u5907\u7684\u5b89\u88c5\u6307\u5357\uff0c\u4ee5\u4fbf\u4e8e\u6211\u540e\u671f\u8fdb\u884c\u91cd\u88c5\u7cfb\u7edf\u7b49\u64cd\u4f5c\uff0c\u4e0d\u4e00\u5b9a\u9002\u5408\u5927\u5bb6\u7684\u8bbe\u5907\uff0c<strong>\u6267\u884c\u76f8\u5173\u64cd\u4f5c\u524d\u8bf7\u5145\u5206\u8003\u8651\u540e\u679c\uff01\uff01</strong></li>\n<li>\u7eaf\u624b\u6413\uff0c\u540e\u7eed\u4f1a\u542c\u53d6\u5927\u5bb6\u7684\u610f\u89c1\u53ca\u65f6\u4fee\u6539\u66f4\u65b0\uff0c\u8fd8\u5e0c\u671b\u5927\u5bb6\u591a\u591a\u6307\u70b9\u3002<del>\u6b22\u8fce\u52a0\u5165 Arch \u795e\u6559</del></li>\n</ul>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/ko20", 
        "name": "ko20", 
        "avatar": "https://cdn.v2ex.com/avatar/85c3/656c/599998_large.png?m=1747099205"
      }, 
      "url": "https://www.v2ex.com/t/1216920", 
      "date_modified": "2026-06-01T02:06:30+00:00", 
      "content_html": "<p>\u5728 Linux \u684c\u9762\u73af\u5883\u5feb\u901f\u67e5\u8bcd/\u7ffb\u8bd1\u53e5\u5b50\uff0c\u7ed1\u5b9a\u7cfb\u7edf\u5168\u5c40\u5feb\u6377\u952e\u3002</p>\n<p>\u9009\u4e2d\u6587\u672c \u2192 \u590d\u5236\uff08 Ctrl+C \uff09\u2192 \u6309 Super+C \u5f39\u51fa\u7ed3\u679c\u3002</p>\n<ul>\n<li>\u5355\u4e2a\u82f1\u6587\u5355\u8bcd\uff1a\u672c\u5730 sdcv \u8bcd\u5178\u67e5\u8be2</li>\n<li>\u53e5\u5b50/\u6bb5\u843d\uff1a\u5728\u7ebf\u7ffb\u8bd1 API</li>\n</ul>\n<p>\u8fd9\u6837\u5728\u6d4f\u89c8\u5668\u6216\u8005\u7cfb\u7edf\u4e2d\u7684\u4efb\u4f55\u5730\u65b9\u9605\u8bfb\u82f1\u6587\u6587\u732e/\u6587\u7ae0\u90fd\u80fd\u5feb\u901f\u7ffb\u8bd1\uff0c\u590d\u5236\u6587\u7ae0\u7684\u5168\u90e8\u6587\u672c\u4e5f\u80fd\u7ffb\u8bd1\u6574\u7bc7\u6587\u7ae0\u3002</p>\n<p>\u6b22\u8fce\u5927\u5bb6\u4f7f\u7528\uff0c\u65b9\u6cd5\u5728 GitHub: <a href=\"https://github.com/hellodk34/linux-quick-translate\" rel=\"nofollow\">https://github.com/hellodk34/linux-quick-translate</a> \uff0c\u622a\u56fe\u5c55\u793a\uff1a</p>\n<p><img alt=\"presentation.webp\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://image.940304.xyz/i/2026/06/01/6a1ce7f747973.webp\"/></p>\n", 
      "date_published": "2026-06-01T02:04:55+00:00", 
      "title": "\u6709\u6ca1\u6709\u4f7f\u7528 Linux \u684c\u9762\u529e\u516c\u7684\u670b\u53cb\uff0c\u6211\u5199\u4e86\u4e00\u4e2a\u811a\u672c\u53ef\u4ee5\u5b9e\u73b0\u5feb\u901f\u67e5\u5355\u8bcd/\u7ffb\u8bd1\u53e5\u5b50", 
      "id": "https://www.v2ex.com/t/1216920"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/richiewu", 
        "name": "richiewu", 
        "avatar": "https://cdn.v2ex.com/avatar/3dc2/c2f6/29854_large.png?m=1778772224"
      }, 
      "url": "https://www.v2ex.com/t/1216141", 
      "title": "\u56fd\u4ea7 Touchpad \u5728 arch \u4e0b\u5076\u53d1\u65e0\u6cd5\u7528\u624b\u52bf", 
      "id": "https://www.v2ex.com/t/1216141", 
      "date_published": "2026-05-28T04:44:26+00:00", 
      "content_html": "<p>ricky@archlinux ~&gt; sudo dmesg | grep -i i2c\n[sudo] password for ricky:\n[    0.211745] ACPI BIOS Error (bug): Could not resolve symbol [_SB.PC00.I2C3.TPD0], AE_NOT_FOUND (20251212/dswload2-162)\n[    0.211891] ACPI BIOS Error (bug): Could not resolve symbol [_SB.PC00.I2C4.TPL1], AE_NOT_FOUND (20251212/dswload2-162)\n[    0.212028] ACPI BIOS Error (bug): Could not resolve symbol [_SB.PC00.I2C5.TPL1], AE_NOT_FOUND (20251212/dswload2-162)\n[    0.237528] ACPI: _SB_.PC00.I2C3.PXTC: New power resource\n[    0.238649] ACPI: _SB_.PC00.I2C4.PTPL: New power resource\n[    0.239054] ACPI: _SB_.PC00.I2C5.PTPL: New power resource\n[    1.207616] Modules linked in: i915(+) i2c_algo_bit drm_buddy ttm nvme intel_gtt nvme_core intel_lpss_pci serio_raw video nvme_keyring spi_intel_pci drm_display_helper nvme_auth intel_lpss hkdf spi_intel idma64 wmi cec intel_vsec\n[    3.815849] i2c_dev: i2c /dev entries driver\n[    4.195336] input: FTSC1000:00 2808:5662 as /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-FTSC1000:00/0018:2808:5662.0008/input/input18\n[    4.195401] input: FTSC1000:00 2808:5662 UNKNOWN as /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-FTSC1000:00/0018:2808:5662.0008/input/input20\n[    4.195467] hid-multitouch 0018:2808:5662.0008: input,hidraw7: I2C HID v1.00 Device [FTSC1000:00 2808:5662] on i2c-FTSC1000:00\n[    4.203661] input: TOPS0102:00 35CC:0104 Consumer Control as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-1/i2c-TOPS0102:00/0018:35CC:0104.0009/input/input22\n[    4.205224] input: TOPS0102:00 35CC:0104 Touchpad as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-1i2c-TOPS0102:00/0018:35CC:0104.0009/input/input23\n[    4.205278] hid-multitouch 0018:35CC:0104.0009: input,hidraw8: I2C HID v1.00 Mouse [TOPS0102:00 35CC:0104] on i2c-TOPS0102:00</p>\n<h2>libinput list-devices \u8bc6\u522b\u4e3a\u4e24\u4e2a\u8bbe\u5907</h2>\n<p>Device:                  TOPS0102:00 35CC:0104 Consumer Control\nKernel:                  /dev/input/event12\nId:                      i2c:35cc:0104\nGroup:                   5\nSeat:                    seat0, default\nCapabilities:            keyboard pointer\nTap-to-click:            n/a\nTap-and-drag:            n/a\nTap button map:          n/a\nTap drag lock:           n/a\nLeft-handed:             n/a\nNat.scrolling:           disabled\nMiddle emulation:        n/a\nCalibration:             n/a\nScroll methods:          none\nScroll button:           n/a\nScroll button lock:      n/a\nClick methods:           none\nClickfinger button map:  n/a\nDisable-w-typing:        n/a\nDisable-w-trackpointing: n/a\nAccel profiles:          n/a\nRotation:                0.0\nArea rectangle:          n/a</p>\n<p>Device:                  TOPS0102:00 35CC:0104 Touchpad\nKernel:                  /dev/input/event13\nId:                      i2c:35cc:0104\nGroup:                   5\nSeat:                    seat0, default\nSize:                    130x92mm\nCapabilities:            pointer gesture\nTap-to-click:            disabled\nTap-and-drag:            enabled\nTap button map:          left/right/middle\nTap drag lock:           disabled\nLeft-handed:             disabled\nNat.scrolling:           disabled\nMiddle emulation:        disabled\nCalibration:             n/a\nScroll methods:          *two-finger edge\nScroll button:           n/a\nScroll button lock:      n/a\nClick methods:           *button-areas clickfinger\nClickfinger button map:  left/right/middle\nDisable-w-typing:        enabled\nDisable-w-trackpointing: enabled\nAccel profiles:          flat *adaptive custom\nRotation:                n/a\nArea rectangle:          n/a</p>\n<p>\u5c1d\u8bd5\u8fc7\u4fee\u6539\u542f\u52a8\u5185\u6838\u53c2\u6570 i2c_hid.reset_suspended=1 \u8fd8\u6709 ignore dmi \uff0c\u90fd\u6ca1\u7528\n\u5076\u5c14\u51b7\u542f\u52a8\u80fd\u7528\u624b\u52bf\uff0c\u91cd\u542f\u5c31\u6ca1\u4e86\uff0c\u76d1\u542c\u8f93\u5165\u8bbe\u5907\u4e8b\u4ef6\u5c31\u53ea\u6709\u5de6\u952e\u89e6\u53d1\uff0c\u6ca1\u6709\u624b\u52bf</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/atzlinux", 
        "name": "atzlinux", 
        "avatar": "https://cdn.v2ex.com/avatar/09fc/01f9/394015_large.png?m=1608718422"
      }, 
      "url": "https://www.v2ex.com/t/1214735", 
      "title": "\u300a\u94dc\u8c4c\u8c46 Linux \u300b12.14.1 \u7248\u672c\u53d1\u5e03", 
      "id": "https://www.v2ex.com/t/1214735", 
      "date_published": "2026-05-22T08:16:05+00:00", 
      "content_html": "<p>\u300a\u94dc\u8c4c\u8c46 Linux \u300b 12.14.1 \u7248\u672c\u53d1\u5e03\n2026-05-22\n<a href=\"https://www.atzlinux.com/News/2026/20260522.htm\" rel=\"nofollow\">https://www.atzlinux.com/News/2026/20260522.htm</a></p>\n<p>\u94dc\u8c4c\u8c46 Linux \u5f00\u6e90\u9879\u76ee\u611f\u8c22\u5927\u5bb6\u7684\u6350\u8d60\u548c\u652f\u6301\uff1a\n<a href=\"https://www.atzlinux.com/juanzeng.htm\" rel=\"nofollow\">https://www.atzlinux.com/juanzeng.htm</a></p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/wuruxu", 
        "name": "wuruxu", 
        "avatar": "https://cdn.v2ex.com/avatar/0c1d/51f3/76854_large.png?m=1785818636"
      }, 
      "url": "https://www.v2ex.com/t/1214629", 
      "title": "wgx \u4e00\u4e2a\u4ee5\u6027\u80fd\u4f18\u5148 \u628a wireguard \u7f51\u7edc\u8f6c\u6210 socks5 \u4ee3\u7406\u7684\u5de5\u5177", 
      "id": "https://www.v2ex.com/t/1214629", 
      "date_published": "2026-05-22T02:36:23+00:00", 
      "content_html": "<p>\u4e3b\u8981\u662f\u57fa\u4e8e C \u8bed\u8a00\u548c libuv \u5b9e\u73b0\u7684 wireguard \u7f51\u7edc\u8f6c socks5 \u4ee3\u7406\u7684\u5de5\u5177<br/>\n\u540e\u7eed\u7ee7\u7eed\u628a tun \u6a21\u5f0f\u4e5f\u4e00\u8d77\u5b9e\u73b0<br/>\n<a href=\"https://github.com/wuruxu/wgx\" rel=\"nofollow\">https://github.com/wuruxu/wgx</a></p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/richiewu", 
        "name": "richiewu", 
        "avatar": "https://cdn.v2ex.com/avatar/3dc2/c2f6/29854_large.png?m=1778772224"
      }, 
      "url": "https://www.v2ex.com/t/1214237", 
      "title": "niri \u600e\u4e48\u8fde\u81ea\u52a8\u5207\u6362\u663e\u793a\u5668\u90fd\u8fd9\u4e48\u96be\u554a", 
      "id": "https://www.v2ex.com/t/1214237", 
      "date_published": "2026-05-20T13:21:13+00:00", 
      "content_html": "<p>\u6298\u817e\u51e0\u4e2a\u5c0f\u65f6\u4e86\uff0c\u80fd\u81ea\u52a8\u7184\u5c4f\u5185\u7f6e\uff0c\u62d4\u4e86\u5916\u7f6e\u7684\u7ebf\uff0c\u5185\u7f6e\u4e0d\u80fd\u70b9\u4eae\uff0c\u8fd9\u79cd\u529f\u80fd\u90fd\u6ca1\u6709\u539f\u751f\u7684\uff0c\u600e\u4e48\u73a9</p>\n<p>#!/bin/bash</p>\n<h1>\u5c06\u6240\u6709\u8f93\u51fa\uff08\u5305\u62ec\u62a5\u9519\uff09\u8ffd\u52a0\u5199\u5165\u5230\u65e5\u5fd7\u6587\u4ef6\u4e2d</h1>\n<p>exec &gt;&gt; ~/screen-switch.log 2&gt;&amp;1\necho \"=== $(date) \u811a\u672c\u88ab\u89e6\u53d1 ===\"</p>\n<h1>\u7b2c\u4e00\u6b21\u9632\u6296\uff1a\u7b49\u5f85\u7cfb\u7edf\u521d\u6b65\u5237\u65b0\u663e\u793a\u5668\u8fde\u63a5\u72b6\u6001</h1>\n<p>sleep 2</p>\n<h1>\u63d0\u53d6\u7eaf\u663e\u793a\u5668\u4ee3\u53f7</h1>\n<p>connected_outputs=$(wlr-randr | grep \"DP-3 \")\necho \"\u5f53\u524d\u8bc6\u522b\u5230\u7684\u8fde\u63a5\u663e\u793a\u5668: $connected_outputs\"</p>\n<h1>\u68c0\u67e5\u5916\u63a5\u663e\u793a\u5668 DP-3</h1>\n<p>if echo \"$connected_outputs\" | grep -q \"DP-3\"; then\necho \"\u5224\u65ad\u7ed3\u679c\uff1a\u68c0\u6d4b\u5230\u5916\u63a5\u663e\u793a\u5668 DP-3 \uff0c\u51c6\u5907\u5207\u6362...\"\n# \u7b2c\u4e8c\u6b21\u9632\u6296\uff1a\u907f\u5f00\u70ed\u63d2\u62d4\u77ac\u95f4\u7684\u5e95\u5c42\u51b2\u7a81\nsleep 1\nwlr-randr --output eDP-1 --off\nwlr-randr --output DP-3 --on\nelse\necho \"\u5224\u65ad\u7ed3\u679c\uff1a\u672a\u68c0\u6d4b\u5230 DP-3 \uff0c\u51c6\u5907\u6062\u590d\u5185\u7f6e\u5c4f eDP-1...\"\n# \u7b2c\u4e8c\u6b21\u9632\u6296\nsleep 1\n# \ud83d\udca1 \u6838\u5fc3\u6539\u52a8\uff1a\u5148\u5f3a\u5236\u5173\u95ed\u5185\u7f6e\u5c4f\uff0c\u518d\u91cd\u65b0\u6253\u5f00\uff08\u91cd\u7f6e\u72b6\u6001\uff09\nwlr-randr --output eDP-1 --off\nsleep 0.5\nwlr-randr --output eDP-1 --on\n# \u786e\u4fdd\u5916\u7f6e\u5c4f\u5f7b\u5e95\u5173\u95ed\nwlr-randr --output DP-3 --off\nfi\necho \"\u547d\u4ee4\u6267\u884c\u5b8c\u6bd5\u3002\"</p>\n<p>// \u76d1\u542c\u663e\u793a\u5668\u53d8\u5316\u4e8b\u4ef6\uff0c\u5e76\u81ea\u52a8\u6267\u884c\u5207\u6362\u811a\u672c\nspawn-at-startup \"sh\" \"-c\" \"niri msg --json event-stream | while read -r event; do echo \"$event\" | grep -q 'OutputsChanged' &amp;&amp; ~/<a href=\"http://auto-switch-screen.sh\" rel=\"nofollow\">auto-switch-screen.sh</a>; done\"</p>\n<p>// 2. \u65b0\u589e\uff1a\u5f00\u673a/\u767b\u5f55\u540e\u5ef6\u8fdf 5 \u79d2\u81ea\u52a8\u6267\u884c\u4e00\u6b21\u811a\u672c\uff08\u8d1f\u8d23\u521d\u59cb\u72b6\u6001\u7684\u5207\u6362\uff09\nspawn-at-startup \"sh\" \"-c\" \"sleep 5 &amp;&amp; ~/<a href=\"http://auto-switch-screen.sh\" rel=\"nofollow\">auto-switch-screen.sh</a>\"</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/wuruxu", 
        "name": "wuruxu", 
        "avatar": "https://cdn.v2ex.com/avatar/0c1d/51f3/76854_large.png?m=1785818636"
      }, 
      "url": "https://www.v2ex.com/t/1213636", 
      "title": "\u5206\u4eab tmux \u5feb\u6377\u65b9\u5f0f", 
      "id": "https://www.v2ex.com/t/1213636", 
      "date_published": "2026-05-18T14:44:21+00:00", 
      "content_html": "<p>\u5728 .bashrc \u6dfb\u52a0\u4e86\u4e0b\u9762\u7684\u5feb\u6377\u65b9\u5f0f\uff0c\u7528\u4e0d\u7740\u6bcf\u6b21\u90fd\u8f93\u5165 tmux ... </p>\n<pre><code>aa() {\n    if tmux has-session -t aa 2&gt;/dev/null; then\n        tmux attach -t aa\n    else\n        tmux new -s aa\n    fi\n}\nrr() {\n    if tmux has-session -t rr 2&gt;/dev/null; then\n        tmux attach -t rr\n    else\n        tmux new -s rr\n    fi\n}\n</code></pre>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/ez2dj", 
        "name": "ez2dj", 
        "avatar": "https://cdn.v2ex.com/avatar/395f/23b6/728507_large.png?m=1788818960"
      }, 
      "url": "https://www.v2ex.com/t/1213475", 
      "title": "zen \u6d4f\u89c8\u5668\u5728 archlinux \u4e2d\u65e0\u6cd5\u4ee3\u7406", 
      "id": "https://www.v2ex.com/t/1213475", 
      "date_published": "2026-05-18T04:07:36+00:00", 
      "content_html": "<p>\u9690\u79c1\u4e0e\u5b89\u5168\u4e2d\u7684 dns \u8bbe\u7f6e\u8fc7\u4e86\uff0c\u4f7f\u7528\u7cfb\u7edf\u4ee3\u7406\u4e5f\u8bbe\u7f6e\u8fc7\u4e86\u8fd8\u662f\u4e0d\u884c\uff0c\u6362\u706b\u72d0\u5c31\u6ca1\u95ee\u9898\n\u6709\u6ca1\u6709\u5927\u4f6c\u77e5\u9053\u6709\u4ec0\u4e48\u529e\u6cd5\u7684</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/richiewu", 
        "name": "richiewu", 
        "avatar": "https://cdn.v2ex.com/avatar/3dc2/c2f6/29854_large.png?m=1778772224"
      }, 
      "url": "https://www.v2ex.com/t/1213292", 
      "title": "albert \u5feb\u6377\u952e\u603b\u662f\u5931\u6548", 
      "id": "https://www.v2ex.com/t/1213292", 
      "date_published": "2026-05-17T06:37:14+00:00", 
      "content_html": "<p>\u600e\u4e48\u627e\u539f\u56e0\uff0c\u6211\u7528\u7684 arch linux \uff0c\n\u8fd8\u662f\u8bf4\u6362\u522b\u7684\uff0c\u6bd4\u5982 Utools \u548c Unlauncher</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/wuruxu", 
        "name": "wuruxu", 
        "avatar": "https://cdn.v2ex.com/avatar/0c1d/51f3/76854_large.png?m=1785818636"
      }, 
      "url": "https://www.v2ex.com/t/1212442", 
      "title": "crTerm 148.26.0513-build for Linux", 
      "id": "https://www.v2ex.com/t/1212442", 
      "date_published": "2026-05-13T07:50:39+00:00", 
      "content_html": "\u628a\u5730\u5740\u680f\u79fb\u9664\u540e\uff0c\u7ec8\u7aef\u663e\u793a\u9762\u79ef\u5927\u4e86\u5f88\u5927    <br />\u6ca1\u6709\u65b0\u9700\u6c42\u4e86\uff0c\u90fd\u4e0d\u77e5\u9053\u63a5\u4e0b\u6765\u6539\u4ec0\u4e48       <br /><br /><a target=\"_blank\" href=\"https://i.imgur.com/xzHh86d.png\" rel=\"nofollow noopener\" target=\"_blank\"><img src=\"https://i.imgur.com/xzHh86d.png\" class=\"embedded_image\" rel=\"noreferrer\"></a>"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/wuruxu", 
        "name": "wuruxu", 
        "avatar": "https://cdn.v2ex.com/avatar/0c1d/51f3/76854_large.png?m=1785818636"
      }, 
      "url": "https://www.v2ex.com/t/1211581", 
      "title": "Linux \u5e73\u53f0\u4e0a \u652f\u6301\u5782\u76f4\u6807\u7b7e\u9875\u7684\u7ec8\u7aef crTerm", 
      "id": "https://www.v2ex.com/t/1211581", 
      "date_published": "2026-05-10T01:08:22+00:00", 
      "content_html": "\u4e0b\u8f7d\u5730\u5740\uff1a <a target=\"_blank\" href=\"https://github.com/wuruxu/crterm/releases/tag/148.26.0510\" rel=\"nofollow noopener\">https://github.com/wuruxu/crterm/releases/tag/148.26.0510</a>      <br />crTerm \u5c31\u662f\u57fa\u4e8e chromium \u5b9a\u5236\u7684\u7ec8\u7aef\u8f6f\u4ef6<br /><br /><a target=\"_blank\" href=\"https://i.imgur.com/x9eQsO9.png\" rel=\"nofollow noopener\" target=\"_blank\"><img src=\"https://i.imgur.com/x9eQsO9.png\" class=\"embedded_image\" rel=\"noreferrer\"></a>   <br /><br />\u652f\u6301\u6587\u4ef6\u6d4f\u89c8\u548c\u56fe\u7247\u9884\u89c8    <br /><a target=\"_blank\" href=\"https://i.imgur.com/DpfNlOK.png\" rel=\"nofollow noopener\" target=\"_blank\"><img src=\"https://i.imgur.com/DpfNlOK.png\" class=\"embedded_image\" rel=\"noreferrer\"></a>"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/huangmingyou", 
        "name": "huangmingyou", 
        "avatar": "https://cdn.v2ex.com/avatar/8cca/c911/31517_large.png?m=1612235130"
      }, 
      "url": "https://www.v2ex.com/t/1210536", 
      "title": "\u82f9\u679c\u6700\u65b0\u5999\u63a7\u89e6\u6478\u677f\u548c Linux \u9002\u914d\u7684\u597d\u5417?", 
      "id": "https://www.v2ex.com/t/1210536", 
      "date_published": "2026-05-06T05:39:28+00:00", 
      "content_html": "<p>\u9f20\u6807\u6ed1\u8f6e\u6709\u70b9\u7c98\u624b,\u6253\u7b97\u8bd5\u8bd5\u82f9\u679c\u7684\u89e6\u6478\u677f,\u5c31\u662f\u4e0d\u77e5\u9053\u9002\u914d\u7684\u600e\u6837.</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/azhi2007", 
        "name": "azhi2007", 
        "avatar": "https://cdn.v2ex.com/avatar/20df/ce13/442824_large.png?m=1698109348"
      }, 
      "url": "https://www.v2ex.com/t/1210138", 
      "title": "ubuntu 24.04 \u4eca\u5929\u70b9\u51fb\u66f4\u65b0\u540e\uff0c\u84dd\u7259\u9f20\u6807\u4e0d\u80fd\u7528\u4e86\u3002", 
      "id": "https://www.v2ex.com/t/1210138", 
      "date_published": "2026-05-03T13:52:11+00:00", 
      "content_html": "<p>\u5982\u9898\uff0c\u66f4\u65b0\u5b8c\u53f3\u4e0a\u89d2\u7684\u84dd\u7259\u56fe\u6807\u548c\u5176\u4ed6\u56fe\u6807\u4e0d\u65ad\u95ea\u70c1\uff0c\u84dd\u7259\u6a21\u5f0f\u4e0d\u80fd\u7528\uff0c2.4G \u53ef\u4ee5\uff0c\u8fd9\u662f\u5565\u95ee\u9898\uff0c\u662f\u81ea\u52a8\u66f4\u65b0\u5185\u6838\u5bfc\u81f4\u84dd\u7259\u9a71\u52a8\u5d29\u6e83\u4e86\u5417\uff0c\u8fd9\u65f6\u5019 V2EX \u600e\u4e48\u80fd\u53d1\u56fe\u7247\u5462\u3002</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/wniming", 
        "name": "wniming", 
        "avatar": "https://cdn.v2ex.com/gravatar/708d900c4d23d905941b0c2cf38b7565?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1210067", 
      "date_modified": "2026-05-03T04:11:17+00:00", 
      "content_html": "<p>fedora 42 \u5728 konsole \u6253\u5b57\u65f6 konsole \u8fdb\u7a0b\u7684 cpu \u5360\u7528\u662f\u6b63\u5e38\u7684\uff0c\u5728\u6309\u7740\u6309\u952e\u4e0d\u677e\u7684\u60c5\u51b5\u4e0b\u8fde\u7eed\u8f93\u5165\u540c\u4e00\u4e2a\u5b57\u7b26 konsole \u8fdb\u7a0b\u7684 cpu \u5360\u7528\u53ea\u6709\u767e\u5206\u4e4b\u5341\u51e0\uff0c\u5347\u7ea7\u5230 fedora 44 \u540e\u5c31\u53d8\u6210\u5c06\u8fd1\u767e\u5206\u4e4b\u767e\u4e86\uff0c\u6211\u7528 perf record \u5206\u6790\u4e86\u4e00\u4e0b cpu \u5360\u7528\u9ad8\u7684\u539f\u56e0\uff0c\u7ed3\u679c\u5982\u4e0b\uff1a</p>\n<pre><code>Samples: 12K of event 'cpu_core/cycles/P', Event count (approx.): 10384837753\n  Children      Self  Command          Shared Object                  Symbol\n+   91.73%     0.00%  konsole          konsole                        [.] _start\n+   91.73%     0.00%  konsole          libc.so.6                      [.] __libc_start_main@@GLIBC_2.34\n+   91.73%     0.00%  konsole          libc.so.6                      [.] __libc_start_call_main\n+   91.73%     0.00%  konsole          konsole                        [.] main\n+   91.73%     0.00%  konsole          libQt6Core.so.6.10.3           [.] QCoreApplication::exec()\n+   91.71%     0.02%  konsole          libQt6Core.so.6.10.3           [.] QEventLoop::exec(QFlags&lt;QEventLoop::ProcessEventsFlag&gt;)\n+   91.70%     0.00%  konsole          libQt6Core.so.6.10.3           [.] QEventDispatcherGlib::processEvents(QFlags&lt;QEventLoop::ProcessEventsFlag&gt;)\n+   91.39%     0.00%  konsole          libglib-2.0.so.0.8800.0        [.] g_main_context_iteration\n+   91.38%     0.01%  konsole          libglib-2.0.so.0.8800.0        [.] g_main_context_iterate_unlocked.isra.0\n+   91.25%     0.01%  konsole          libglib-2.0.so.0.8800.0        [.] g_main_context_dispatch_unlocked.lto_priv.0\n+   91.05%     0.02%  konsole          libQt6Core.so.6.10.3           [.] QCoreApplication::notifyInternal2(QObject*, QEvent*)\n+   90.96%     0.01%  konsole          libQt6Widgets.so.6.10.3        [.] QApplicationPrivate::notify_helper(QObject*, QEvent*)\n+   89.40%     0.02%  konsole          libQt6Widgets.so.6.10.3        [.] QWidget::event(QEvent*)\n+   89.35%     0.00%  konsole          libQt6Core.so.6.10.3           [.] postEventSourceDispatch(_GSource*, int (*)(void*), void*)\n+   89.35%     0.02%  konsole          libQt6Core.so.6.10.3           [.] QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*)\n+   89.09%     0.00%  konsole          libKF6XmlGui.so.6.25.0         [.] KXmlGuiWindow::event(QEvent*)\n+   88.94%     0.01%  konsole          libQt6Widgets.so.6.10.3        [.] QWidgetRepaintManager::paintAndFlush()\n+   64.37%    63.13%  konsole          libQt6Gui.so.6.10.3            [.] qt_memfillXX_avx2(unsigned char*, long long __vector(4), long long)\n+   64.37%     0.00%  konsole          libQt6Gui.so.6.10.3            [.] QPainter::fillRect(QRect const&amp;, QColor const&amp;)\n+   64.37%     0.00%  konsole          libQt6Gui.so.6.10.3            [.] QRasterPaintEngine::fillRect(QRectF const&amp;, QSpanData*)\n+   55.10%     0.00%  konsole          libQt6Widgets.so.6.10.3        [.] QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&amp;, QPoint const&amp;, QFlags&lt;QWidgetPrivate::DrawWidgetFlag&gt;,\n+   54.99%     0.02%  konsole          libQt6Widgets.so.6.10.3        [.] QWidgetPrivate::sendPaintEvent(QRegion const&amp;)\n+   48.05%     0.03%  konsole          libkonsoleprivate.so.26.04.0   [.] Konsole::TerminalDisplay::paintEvent(QPaintEvent*)\n+   32.81%     0.03%  konsole          libQt6Gui.so.6.10.3            [.] QBackingStore::beginPaint(QRegion const&amp;)\n+   32.78%     0.00%  konsole          libQt6WaylandClient.so.6.10.3  [.] QtWaylandClient::QWaylandShmBackingStore::beginPaint(QRegion const&amp;)\n+   16.03%     0.57%  konsole          libkonsoleprivate.so.26.04.0   [.] Konsole::TerminalPainter::drawContents(Konsole::Character*, QPainter&amp;, QRect const&amp;, bool, int, bool, QList&lt;Konso\n+   11.89%     0.07%  konsole          libkonsoleprivate.so.26.04.0   [.] Konsole::TerminalPainter::drawTextCharacters(QPainter&amp;, QRect const&amp;, QString const&amp;, Konsole::Character, QColor\n+   11.30%     0.12%  konsole          libQt6Gui.so.6.10.3            [.] QPainter::drawText(QPointF const&amp;, QString const&amp;, int, int)\n+    7.77%     0.00%  Thread (pooled)  libc.so.6                      [.] __GI___clone3\n+    7.77%     0.00%  Thread (pooled)  libc.so.6                      [.] start_thread\n+    7.77%     0.00%  Thread (pooled)  libQt6Core.so.6.10.3           [.] QThreadPrivate::start(void*)\n+    7.70%     0.24%  Thread (pooled)  libQt6Core.so.6.10.3           [.] QThreadPoolThread::run()\n+    6.72%     0.02%  konsole          libQt6Widgets.so.6.10.3        [.] QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList&lt;QObject*&gt; const&amp;, int, QRegion const&amp;, QPoint const&amp;,\n+    6.48%     0.02%  konsole          libkonsoleprivate.so.26.04.0   [.] Konsole::TerminalScrollBar::paintEvent(QPaintEvent*)\n+    6.38%     0.01%  konsole          libQt6Widgets.so.6.10.3        [.] QScrollBar::paintEvent(QPaintEvent*)\n+    6.13%     0.01%  konsole          breeze6.so                     [.] Breeze::Style::drawComplexControl(QStyle::ComplexControl, QStyleOptionComplex const*, QPainter*, QWidget const*)\n+    6.10%     0.04%  konsole          breeze6.so                     [.] Breeze::Style::drawScrollBarComplexControl(QStyleOptionComplex const*, QPainter*, QWidget const*) const\n+    5.43%     0.03%  konsole          libQt6Widgets.so.6.10.3        [.] QCommonStyle::drawComplexControl(QStyle::ComplexControl, QStyleOptionComplex const*, QPainter*, QWidget const*) c\n+    5.40%     0.10%  konsole          libQt6Gui.so.6.10.3            [.] QPainterPrivate::drawTextItem(QPointF const&amp;, QTextItem const&amp;, QTextEngine*)\n+    5.31%     0.00%  konsole          breeze6.so                     [.] Breeze::Style::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const\n+    5.28%     0.00%  konsole          breeze6.so                     [.] Breeze::Style::drawScrollBarSliderControl(QStyleOption const*, QPainter*, QWidget const*) const\n+    5.23%     0.02%  konsole          breeze6.so                     [.] Breeze::Style::drawScrollBarSliderControl(QStyleOption const*, QPainter*, QWidget const*) const [clone .part.0]\n+    5.12%     0.10%  konsole          libQt6Gui.so.6.10.3            [.] QRasterPaintEngine::drawTextItem(QPointF const&amp;, QTextItem const&amp;)\n+    4.93%     0.00%  konsole          libQt6Gui.so.6.10.3            [.] QPaintEngineEx::drawRoundedRect(QRectF const&amp;, double, double, Qt::SizeMode)\n+    4.91%     0.18%  Thread (pooled)  libQt6Gui.so.6.10.3            [.] QRunnable::QGenericRunnable::Helper&lt;blend_color_argb(int, QT_FT_Span_ const*, void*)::{lambda()#1}&gt;::impl(QRunnab\n</code></pre>\n<p>\u53d1\u73b0 qt_memfillXX_avx2 \u8fd9\u4e2a\u51fd\u6570\u7684 cpu \u5360\u7528\u6709 63.13%\uff0c\u800c\u5728 fedora 42 \u4e0a\u7528 perf record \u5206\u6790 cpu \u5360\u7528\u538b\u6839\u5c31\u6ca1\u91c7\u96c6\u5230\u8fd9\u4e2a\u51fd\u6570\uff0c\u611f\u89c9\u5e94\u8be5\u662f fedora 44 \u7684 bug \uff0c\u6211\u60f3\u7ed9 fedora \u53cd\u9988\u8fd9\u4e2a bug \u4f46\u4e0d\u77e5\u9053\u8981\u600e\u4e48\u641e\uff0c\u6709 v \u53cb\u80fd\u5e2e\u6211\u7ed9 fedora \u53cd\u9988\u4e00\u4e0b\u5417\uff1f</p>\n", 
      "date_published": "2026-05-03T04:04:58+00:00", 
      "title": "\u5347\u7ea7\u5230 fedora 44 \u540e\u5728 konsole \u91cc\u6253\u5b57\u65f6 cpu \u5360\u7528\u5f88\u9ad8\u7684\u95ee\u9898\u6709 v \u53cb\u4e5f\u9047\u5230\u4e86\u5417\uff1f", 
      "id": "https://www.v2ex.com/t/1210067"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/wsseo", 
        "name": "wsseo", 
        "avatar": "https://cdn.v2ex.com/gravatar/76d2c2c844d4bfb2b4fbec4d2151b02f?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1209459", 
      "title": "Ubuntu26.04 \u684c\u9762\u7aef\u914d\u7f6e\u9759\u6001 IP \u5931\u8d25", 
      "id": "https://www.v2ex.com/t/1209459", 
      "date_published": "2026-04-29T10:37:26+00:00", 
      "content_html": "\u901a\u8fc7\u7cfb\u7edf\u8bbe\u7f6e\u9759\u6001 IP \uff0c\u9009\u62e9 ipv4 manual,\u914d\u7f6e IP \uff0c\u5b50\u7f51\u63a9\u7801\uff0c\u8def\u7531\u3002\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 apply \u3002<br />\u518d\u6b21\u6253\u5f00\u914d\u7f6e\uff0c\u53c8\u53d8\u6210 DHCP \u3002"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/wuruxu", 
        "name": "wuruxu", 
        "avatar": "https://cdn.v2ex.com/avatar/0c1d/51f3/76854_large.png?m=1785818636"
      }, 
      "url": "https://www.v2ex.com/t/1207063", 
      "title": "Gnome \u684c\u9762\u4e0b\u622a\u56fe\u4e0a\u4f20\u5230 imgur \u7684 extension", 
      "id": "https://www.v2ex.com/t/1207063", 
      "date_published": "2026-04-20T01:18:46+00:00", 
      "content_html": "Gnome50/Debian13 \u4e0a\u6d4b\u8bd5\u901a\u8fc7\u7684<br />\u7279\u522b\u65b9\u4fbf V2EX \u4e0a\u53d1\u56fe\u7247\uff0c\u5c31\u50cf\u6211\u73b0\u5728\u8fd9\u6837     <br /><a target=\"_blank\" href=\"https://github.com/wuruxu/gnome-shell-extension-imgur\" rel=\"nofollow noopener\">https://github.com/wuruxu/gnome-shell-extension-imgur</a>      <br /><br /><a target=\"_blank\" href=\"https://i.imgur.com/etnaCwa.png\" rel=\"nofollow noopener\" target=\"_blank\"><img src=\"https://i.imgur.com/etnaCwa.png\" class=\"embedded_image\" rel=\"noreferrer\"></a>"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/KKKKale", 
        "name": "KKKKale", 
        "avatar": "https://cdn.v2ex.com/avatar/ad70/30d0/30016_large.png?m=1775552366"
      }, 
      "url": "https://www.v2ex.com/t/1207001", 
      "date_modified": "2026-04-19T10:35:31+00:00", 
      "content_html": "\u672c\u6765\u6253\u7b97\u76f4\u63a5 ubuntu \u7684\uff0c\u4f46\u8fd9\u4e2a\u65f6\u95f4\u8282\u70b9\u6709\u70b9\u5c34\u5c2c\uff0c26.04LTS \u5feb\u53d1\u53c8\u8fd8\u6ca1\u53d1\u3002\u8bd5\u4e86\u4e0b Manjaro \uff0c\u51e0\u4e4e\u5f00\u7bb1\u5373\u7528\u4e86~<br />linux \u6ca1\u6709\u5fae\u4fe1\u8bed\u97f3\u8f93\u5165\u6709\u70b9\u96be\u53d7 = =", 
      "date_published": "2026-04-19T10:32:37+00:00", 
      "title": "Manjaro \u771f\u4e0d\u9519", 
      "id": "https://www.v2ex.com/t/1207001"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/xxyangyoulin", 
        "name": "xxyangyoulin", 
        "avatar": "https://cdn.v2ex.com/avatar/889a/9571/433654_large.png?m=1606458919"
      }, 
      "url": "https://www.v2ex.com/t/1206873", 
      "title": "\u5199\u4e86\u4e2a lottie \u52a8\u753b\u5728 Linux \u684c\u9762\u4e0a\u9876\u5c42\u64ad\u653e\u7684\u5c0f\u4e1c\u897f", 
      "id": "https://www.v2ex.com/t/1206873", 
      "date_published": "2026-04-18T11:44:51+00:00", 
      "content_html": "<p>\u5199\u4e86\u4e2a lottie \u52a8\u753b\u5728 linux \u684c\u9762\u4e0a\u9876\u5c42\u64ad\u653e\u7684\u5c0f\u4e1c\u897f\uff0c\u53ef\u4ee5\u7528\u5728\u548c codex/claude \u56de\u590d\u7ed3\u675f\u540e\uff0c\u64ad\u653e\u4e00\u4e2a\u5c0f\u52a8\u753b\u63d0\u793a\uff0c\u6ca1\u4ec0\u4e48\u7528\u7684\u73a9\u5177\n<a href=\"https://github.com/xxyangyoulin/linux-lottie-salute\" rel=\"nofollow\">https://github.com/xxyangyoulin/linux-lottie-salute</a></p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/wniming", 
        "name": "wniming", 
        "avatar": "https://cdn.v2ex.com/gravatar/708d900c4d23d905941b0c2cf38b7565?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1206865", 
      "date_modified": "2026-04-18T09:59:19+00:00", 
      "content_html": "<p>\u7f51\u5361\u662f rtl8127, \u7528 iperf3 \u6d4b\u901f\uff0c\u5728 host \u4e0a\u6d4b\u901f\u53ef\u4ee5\u8fbe\u5230 9.42 Gbits/sec \uff0c\u5728 lxc \u91cc\u6d4b\u901f\u53ea\u6709 3.25 Gbits/sec \uff0c\u9020\u6210\u8fd9\u4e48\u5927\u5dee\u5f02\u7684\u539f\u56e0\u662f\u5728 lxc \u91cc\u53d1\u9001\u7684\u6570\u636e\u5305\u88ab\u62c6\u6210\u4e86 1.5KB \u7684\u5c0f\u5305\uff08\u4e5f\u5c31\u662f mtu \u7684\u5927\u5c0f\uff09\uff0c\u800c\u5728 host \u4e0a\u53d1\u9001\u7684\u6570\u636e\u5305\u662f\u51e0\u5341 KB \u7684\u5927\u5305\uff0c\u6211\u60f3\u77e5\u9053\u5982\u4f55\u8ba9 lxc \u91cc\u53d1\u9001\u7684\u6570\u636e\u5305\u4e5f\u662f\u51e0\u5341 KB \u7684\u5927\u5305\uff0c\u6709 v \u53cb\u5bf9\u8fd9\u4e2a\u95ee\u9898\u611f\u5174\u8da3\u613f\u610f\u4e00\u8d77\u7814\u7a76\u4e00\u4e0b\u5417\uff1f</p>\n<p>\u5728 host \u4e0a\u8fd0\u884c iperf3 \u53d1\u5305\u65f6 sar \u7684\u8f93\u51fa\u5982\u4e0b\uff1a</p>\n<pre><code>d@develop:~/test$ sar -n DEV 1 | awk '/IFACE/ &amp;&amp; !header_done {print; header_done=1} /enp9s0/'\n04:57:43 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s   %ifutil\n04:57:44 PM    enp9s0  19111.00  45161.00   1231.95 1152255.61      0.00      0.00      0.00     94.39\n04:57:45 PM    enp9s0  19174.00  45152.00   1235.82 1152169.69      0.00      0.00      0.00     94.39\n04:57:46 PM    enp9s0  19072.00  45156.00   1229.25 1152220.90      0.00      0.00      0.00     94.39\n04:57:47 PM    enp9s0  18963.00  45156.00   1222.37 1152153.47      0.00      0.00      0.00     94.38\n\n</code></pre>\n<p>\u5728 lxc \u5185\u8fd0\u884c iperf3 \u53d1\u5305\u65f6 sar \u7684\u8f93\u51fa\u5982\u4e0b\uff1a</p>\n<pre><code>d@develop:~/test$ sar -n DEV 1 | awk '/IFACE/ &amp;&amp; !header_done {print; header_done=1} /enp9s0/'\n04:58:51 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s   %ifutil\n04:58:52 PM    enp9s0  15288.00 277668.00    985.45 410535.09      0.00      0.00      0.00     33.63\n04:58:53 PM    enp9s0  15290.00 277542.00    985.64 410400.17      0.00      0.00      0.00     33.62\n04:58:54 PM    enp9s0  15228.00 277660.00    981.49 410523.23      0.00      0.00      0.00     33.63\n04:58:55 PM    enp9s0  15265.00 277582.00    983.97 410409.32      0.00      0.00      0.00     33.62\n\n</code></pre>\n<p>\u7528 txkB/s \u9664\u4ee5 txpck/s \u5c31\u80fd\u8ba1\u7b97\u51fa\u6570\u636e\u5305\u7684\u5927\u5c0f\u3002</p>\n<p>\u6211\u8fd8\u8bd5\u4e86\u5728 linux \u865a\u62df\u673a\uff08\u4f7f\u7528 tap \u8bbe\u5907\uff0c\u6865\u63a5\u7f51\u7edc\uff09\u91cc\u7528 iperf3 \u6d4b\u53d1\u9001\u7684\u901f\u5ea6, \u7ed3\u679c\u548c lxc \u91cc\u4e00\u6837\u88ab\u62c6\u6210\u4e86\u5c0f\u5305\uff0c\u4f46\u662f\u5728\u865a\u62df\u673a\u91cc\u7528 scp \u628a\u672c\u673a\u6587\u4ef6\u62f7\u8d1d\u5230\u5176\u4ed6\u673a\u5668\u65f6\u662f\u5927\u5305\uff0c\u800c lxc \u91cc scp \u4e5f\u662f\u5c0f\u5305\uff0c\u53e6\u5916\u66f4\u5947\u602a\u7684\u662f\u5982\u679c\u662f win11 \u865a\u62df\u673a\uff0ciperf3 \u53d1\u9001\u7684\u6570\u636e\u5305\u662f\u5927\u5305\u3002</p>\n<p>\u6211\u8fd8\u8bd5\u4e86\u7528 macvlan \u66ff\u4ee3 veth \uff0c\u7ed3\u679c lxc \u91cc\u4e0d\u7ba1\u662f iperf3 \u8fd8\u662f scp \u90fd\u4e0d\u4f1a\u62c6\u6210\u5c0f\u5305\u4e86\uff0c\u4f46\u662f\u5982\u679c\u865a\u62df\u673a\u7528 macvtap \uff0c\u4e0d\u7ba1\u662f iperf3 \u8fd8\u662f scp \u90fd\u5168\u62c6\u6210\u5c0f\u5305\u4e86\u3002</p>\n<p>\u8fd9\u4e2a\u95ee\u9898\u4e0d\u4ec5\u4ec5\u51fa\u73b0\u5728 rtl8127 \u7f51\u5361\u4e0a\uff0crtl8126 \u548c rtl8125 \u7f51\u5361\u90fd\u4e00\u6837\uff0c\u53ea\u4e0d\u8fc7\u5728\u4e07\u5146\u7f51\u7edc\u4e0b\u5927\u5305\u548c\u5c0f\u5305\u4e24\u79cd\u60c5\u51b5\u901f\u5ea6\u7684\u5dee\u8ddd\u66f4\u5927\u3002</p>\n<p>\u8fd9\u4e2a\u95ee\u9898\u6211\u5df2\u7ecf\u8ba9 chatgpt plus \u548c gemini 3 pro \u5206\u6790\u4e86\u5f88\u591a\u6b21\u4e86\uff0cAI \u7ed9\u7684\u65b9\u6cd5\u5168\u90fd\u8bd5\u4e86\u90fd\u4e0d\u8d77\u4f5c\u7528\uff0cAI \u53ea\u4f1a\u8ba9\u6211\u53bb\u8c03\u6574 tso gso gro \u4ee5\u53ca mtu \u7b49\u7b49\u53c2\u6570\uff0c\u90fd\u8bd5\u4e86\u90fd\u4e0d\u8d77\u4f5c\u7528\uff0c\u611f\u89c9\u73b0\u9636\u6bb5 AI \u8fd8\u662f\u6ca1\u6709\u80fd\u529b\u5206\u6790\u8fd9\u79cd\u975e\u5e38\u590d\u6742\u7684\u95ee\u9898\u3002</p>\n", 
      "date_published": "2026-04-18T09:51:30+00:00", 
      "title": "LXC veth \u6865\u63a5\u7f51\u7edc\u6a21\u5f0f\u4e0b\u5982\u4f55\u907f\u514d\u53d1\u9001\u7684\u6570\u636e\u5305\u88ab\u62c6\u6210\u5c0f\u5305\uff1f", 
      "id": "https://www.v2ex.com/t/1206865"
    }
  ]
}