{"id":355,"date":"2023-04-03T20:10:08","date_gmt":"2023-04-03T12:10:08","guid":{"rendered":"https:\/\/vm1.go2see.me\/?p=355"},"modified":"2023-05-01T10:24:58","modified_gmt":"2023-05-01T02:24:58","slug":"%e6%a8%b9%e8%8e%93%e6%b4%be4%e5%ae%89%e8%a3%9dubuntu22-04","status":"publish","type":"post","link":"https:\/\/vm1.go2see.me\/?p=355","title":{"rendered":"\u6a39\u8393\u6d3e4\u5b89\u88ddubuntu22.04"},"content":{"rendered":"<h1>\u6811\u8393\u6d3e Ubuntu Desktop 22.04 \u8bbe\u5b9a\u8bb0\u5f55<\/h1>\n<p>cyue 2022-11-26<\/p>\n<h3>\u524d\u8a00<\/h3>\n<p>\u6811\u8393\u6d3e4B \u53ef\u4ee5\u5f53\u4ec0\u4e48\uff1f \u4e00\u4e2a4\u6838 A72\/4GB\u62168GB RAM \u7684 Linux \u5c0f\u4e3b\u673a\uff1f \u9664\u4e86\u56db\u4e2aUSB\u3001\u7f51\u7ebf\u5916\u3001\u6811\u8393\u6d3e4B\u548cPC\u6700\u4e3b\u8981\u7684\u662f\u63d0\u4f9b\u4e8640pin\u7684\u8fde\u63a5\u7aef\u5b50\uff0c\u53ef\u4ee5\u505a\u5f88\u591a\u63a7\u5236\u5e94\u7528\u3002\u5f88\u9002\u5408\u5f53IOT\u7684\u7f51\u5173\uff0c\u6216\uff1f<\/p>\n<p>\u914d\u4e0a\u5999\u63a7\u952e\u76d8\u540e\uff0ciPadPro\u867d\u7136\u957f\u5f97\u5f88\u50cf\u7535\u8111\uff0c\u6027\u80fd\u751a\u81f3\u8d85\u8d8a\u4e00\u822c\u7535\u8111\uff0c\u4f46\u7531\u4e8eApple\u5bf9iPadPro\u7684\u5c01\u5370\uff0c\u4e0d\u80fd\u50cf\u7535\u8111\u6109\u5feb\u7684\u4f7f\u7528\u8f6f\u4ef6\uff0c\u6109\u5feb\u7684\u505a\u5468\u8fb9\u63a7\u5236\u6216\u76f8\u5173\u7684\u5f00\u53d1\u3002\u8fd9\u65f6\u591a\u7528\u9014\u7684\u6811\u8393\u6d3e\u5c31\u6d3e\u4e0a\u7528\u573a\u4e86\u3002\u867d\u7136\u6027\u80fd\u4e0d\u600e\u6837\uff0c\u53ea\u8981\u4e00\u6761typeC\u8fde\u63a5\u7ebf\uff0c\u5c31\u80fd\u63d0\u4f9b\u5b8c\u6574\u7684Linux+\u5f00\u53d1\u5de5\u5177+\u5145\u8db3\u7684\u5468\u8fb9\u3002\u3002\u3002\uff0ciPadPro\u77ac\u95f4\u50cf\u662f\u5403\u4e86\u5927\u529b\u4e38\uff08\u63a5\u4e0b\u6765\u5c31\u770b\u7535\u6e90\u80fd\u6491\u591a\u4e45\u4e86\uff09\u3002\u3002\u3002<\/p>\n<p>\uff5e\uff5e==\u597d\u60f3\u8981\u4e00\u53f0M1\u5e26\u89e6\u5c4f\uff0c\u53ef\u4ee5\u60f3\u50cfLinux\u4e00\u6837\u81ea\u7531\uff08\u778e\u641e\uff09\u7684Linux\u7b14\u8bb0\u672c\u7535\u8111\u554a\u3002\u3002\u3002\u3002\u30101\u3011==\uff5e\uff5e<\/p>\n<p>\u4e4b\u524d\u5c1d\u8bd5\u4e86\u670d\u52a1\u5668\u7248\u7684Ubuntu22.04 \u5f53iPad\u5f00\u53d1\u5de5\u5177\uff0c\u603b\u662f\u6709\u8fd9\u4e2a\u90a3\u4e2a\u7684\u529f\u80fd\u8981\u8bbe\u5b9a\uff0c\u53c8\u4e0d\u597d\u8bbe\u5b9a\uff0c\u6d6a\u8d39\u6211\u7684\u9752\u6625\u3002\u8fd9\u56de\u6211\u76f4\u63a5\u5b89\u88c5\u684c\u9762\u7248\u7684Ubuntu22.04\u3002\u3002\u3002\u3002\u5435\u6742\u7684\u4e16\u754c\u77ac\u95f4\u5b89\u9759\u4e86\uff0c\u9664\u4e86\u8bbe\u5b9a\u65f6\u8981\u81ea\u5907\u952e\u76d8\u9f20\u6807\u5c4f\u5e55\u8fd9\u70b9\u4e0d\u53cb\u5584\u3002\u3002\u3002\u3002<\/p>\n<p>\u6211\u4eec\u770b\u770b\u600e\u4e48\u505a\u5427\u3002\u3002\u3002<\/p>\n<blockquote>\n<p>\u6ce8\u30101\u3011\uff1am1 macBookAir\u9664\u4e86\u6ca1\u6709iPad\u987a\u6ed1\u7684\u89e6\u5c4f\u64cd\u4f5c\uff0c\u6ca1\u6709 Apple Pencil \u4e0e\u5e94\u7528\uff0c\u5df2\u7ecf\u5f88\u63a5\u8fd1\u7406\u60f3\u4e86\uff0c\u4f46multipass\u4e0b\u7684ubuntu\u548c\u5468\u8fb9\u63a7\u5236\u7684\u80fd\u529b\u8fd8\u662f\u5dee\u4e86\u70b9\u610f\u601d\u3002\u3002\u3002<\/p>\n<\/blockquote>\n<h1>Part 1 U\u76d8\u955c\u50cf\u70e7\u5f55\u3001\u4e0e\u5f00\u673a\u524d\u7684\u624b\u52a8\u8bbe\u5b9a<\/h1>\n<p>\u70e7\u5f55\u9700\u8981\u53e6\u4e00\u53f0PC\uff0cWindows\/macOS\/Linux\u90fd\u53ef\u4ee5\uff0c\u5b89\u88c5 Raspberry Pi Imager \u5de5\u5177\u70e7\u5f55\u3002\u53ef\u76f4\u63a5\u7528\u5de5\u5177\u4e0b\u8f7d\u70e7\u5f55\uff0c\u4e5f\u53ef\u5148\u4e0b\u8f7d\u955c\u50cf\uff0c\u5728\u7528\u5de5\u5177\u6311\u9009\u70e7\u5f55\u3002<\/p>\n<p>\u70e7\u5f55\u5b8c\u6210\u540e\uff0c\u6211\u4eec\u5728\u4fee\u6539 boot\u5206\u533a\u5185\u7684\u6587\u4ef6\u5185\u5bb9\uff0c\u505a\u4e00\u4e9b\u6700\u521d\u7684\u8bbe\u5b9a\u3002\u3002\u3002<\/p>\n<h2>1.1 \u4f7f\u7528 Raspberry Pi Imager \u5236\u4f5c\u5f00\u673a\u76d8<\/h2>\n<blockquote>\n<p>\u6211\u7684\u6811\u8393\u6d3e boot eeprom \u5df2\u5347\u7ea7\u6210\u53ef\u4ee5\u4f7f\u7528 USB3.0 \u901f\u542f\u52a8\u3002\u6240\u4ee5\u6211\u4f7f\u7528 SAMSUNG FIT+ \u5f53\u9ad8\u901f\u5f00\u51e0\u76d8\uff0c\u6bd4\u725b\u6b65\u7684SD\u5361\u9999\u591a\u4e86\u3002<\/p>\n<\/blockquote>\n<ul>\n<li>\u4f7f\u7528 Raspberry Pi Imager \u6765\u4e0b\u8f7d\u5b89\u88c5\u6811\u8393\u6d3e\u53ef\u7528\u7684\u955c\u50cf\u3001\u8bbe\u5b9a\u5f00\u673a\u6a21\u5f0f\u3002<br \/>\n\u8fd9\u91cc\u63d0\u4f9bPC\u7aef\uff08 <a href=\"https:\/\/downloads.raspberrypi.org\/imager\/imager_latest_amd64.deb\">Ubuntu\/Debian<\/a>\u3001<a href=\"https:\/\/downloads.raspberrypi.org\/imager\/imager_latest.exe\">Windows<\/a>\u3001\u548c <a href=\"https:\/\/downloads.raspberrypi.org\/imager\/imager_latest.dmg\">macOS<\/a>\uff09\u7684 Raspberry Pi Imager \u5de5\u5177\uff0c\u5c06\u4e0a\u9762\u7684 img.xz \u6587\u4ef6 \u70e7\u5f55\u5230 U\u76d8\/SD\u5361\u4e2d\u3002<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/image-20220711110808191-1024x724.png\" alt=\"\" \/><\/p>\n<h2>1.2 \u4e00\u4e9b\u624b\u52a8\u9884\u8bbe\u5b9a\uff1a<\/h2>\n<p>\u53ef\u4ee5\u5728 PC\/Mac\/Linux\u4e0b \u6302\u8f7dU\u76d8\u7684 boot image \u5206\u533a\uff08FAT\u683c\u5f0f\uff09\uff0c\u8fd9\u4e2a\u5206\u533a\u5728\u6267\u884c\u540e\u4f1a\u88ab\u6302\u8f7d\u5230  <strong>\/boot\/firmware<\/strong>\u3002<\/p>\n<p>\u7f16\u8f91\u4ee5\u4e0b\u6587\u4ef6\uff0c\u6dfb\u52a0 usb typeC \u7f51\u8def\uff0c\u8fd9\u6837\u672a\u6765MacBookPro\u4e3b\u673a\u6216iPadPro \u53ef\u4ee5\u76f4\u63a5usb\u7aef\u53e3\u8fde\u63a5\u6811\u8393\u6d3e\uff0c\u5373\u5bf9\u6811\u8393\u6d3e\u4f9b\u7535\uff0c\u4e5f\u53ef\u901a\u8fc7\u8fde\u7ebf\u901a\u8baf\u63a7\u5236\u6811\u8393\u6d3e\uff0c\u4e0d\u53d7\u5916\u5728Wifi\/Lan\u7f51\u8def\u73af\u5883\u5f71\u54cd\uff0c\u5728\u79fb\u52a8\u7684\u73af\u5883\u4e0b\u5bf9\u6811\u8393\u6d3e\u7f16\u7a0b\u63a7\u5236\u3002<\/p>\n<h3>1.2.1 \u5c06 typeC \u8bbe\u6210\u5468\u8fb9\u88c5\u7f6e <code>config.txt<\/code>\uff1a<\/h3>\n<p>\u7f16\u8f91 config.txt \u5e76\u6dfb\u52a0\u4e00\u884c\uff1a<\/p>\n<pre><code class=\"language-sh\">dtoverlay=dwc2,dr_mode=peripheral<\/code><\/pre>\n<h3>1.2.2 \u4e3atype C\u6dfb\u52a0 ethernet gadget \u6a21\u5757 <code>cmdline.txt<\/code>\uff1a<\/h3>\n<p>\u7f16\u8f91\u5728 cmdline.txt \u5728 <code>rootwait<\/code> \u4e4b\u540e\u6dfb\u52a0\u9879\uff1a<\/p>\n<pre><code class=\"language-sh\">modules-load=dwc2,g_ether<\/code><\/pre>\n<p>\u5982\u524d\u6240\u8ff0\uff0c\u6dfb\u52a0\u5728 <code>rootwait<\/code> \u4e4b\u540e\uff0c\u4e0e\u524d\u540e\u9879\u95f4\u9694\u5404\u53ea\u6709\u4e00\u4e2a\u7a7a\u683c\u3002 <\/p>\n<h3>1.2.3 \u57fa\u7840\u5df2\u77e5\u7684\u7f51\u8def\u8bbe\u5b9a<code>network-config<\/code>\uff1a<\/h3>\n<blockquote>\n<p><strong>\uff08\u684c\u9762\u7248\u6709\u81ea\u5df1\u7684\u8bbe\u5b9a\u65b9\u5f0f\u4e0d\u5fc5\u505a\u6b64\u8bbe\u5b9a\uff09<\/strong><\/p>\n<\/blockquote>\n<p>\u4e0d\u540c\u4e8eubuntu server \u7248\u7684\u5f00\u673a\u5c31\u4f7f\u7528 netplan\uff0c\u4f1a\u6839\u636e network-config \u6587\u4ef6\u8bbe\u7f6e\u7f51\u8def\uff0cUbuntu desktop \u5f00\u673a\u65f6\u4f1a\u4f7f\u7528GUI\u8be2\u95ee\u7528\u6237\u8d26\u6237\u4e0e\u7f51\u8def\uff0c\u4e0d\u4f1a\u4f7f\u7528\u8fd9\u91cc\u7684 network-config \u548c user-data\u3002<\/p>\n<p>\u6240\u4ee5Ubuntu\u684c\u9762\u7248 \/etc\/netplan \u4e0b\u7684 yaml \u6587\u4ef6\u53ea\u4f1a\u6709\u6700\u7b80\u5355\u7684\u8bbe\u5b9a\u3002<strong>\u57283.1\u8282<\/strong>\uff0c\u6211\u4eec\u5728\u542f\u52a8 ssh \u6210\u529f\u540e\uff0c\u518d\u53bb\u628a netplan\u7684 usb0 \u7f51\u8def\u8bbe\u5b9a\u5b8c\u6574\u3002<\/p>\n<p>\u76f4\u63a5\u4e0a\u7535\u5f00\u673a\uff1f\u9664\u4e86U\u76d8\u4f60\u8fd8\u8981\u4eba\u673a\u754c\u9762\u7684\u786c\u4ef6\u3002\u3002\u3002\u3002\ud83d\ude31\ud83d\ude31\ud83d\ude31<\/p>\n<h1>Part 2 \u9700\u8981\u8fde\u63a5\u952e\u9f20\u4e0e\u5c4f\u5e55\u7684\u7cfb\u7edf\u8bbe\u7f6e<\/h1>\n<blockquote>\n<p>\u6811\u8393\u6d3e\u53ef\u7528\u7684 UbuntuDesktop 22 \u7684\u955c\u50cf\uff0c\u76ee\u524d\u662f\u4e0d\u80fd\u7528 <strong>Raspberry Pi Imager<\/strong> \u7684\u9ad8\u7ea7\u8bbe\u7f6e\u529f\u80fd\u6765\u8bbe\u7f6e UbuntuDesktop 22.04 \u7684\u53c2\u6570\u7684\uff0c\u8bbe\u7f6e\u65e0\u6548\uff0c\u5fc5\u987b\u63a5\u4e0a\u5c4f\u5e55\u3001\u952e\u76d8\u3001\u9f20\u6807\uff0c\u4e00\u6b65\u4e00\u6b65\u7684\u505a\u8bbe\u5b9a\u3002\u3002\u3002\u3002<\/p>\n<ul>\n<li>\n<p>\u5c4f\u5e55\uff1a\u82e5\u5bb6\u91cc\u90fd\u4f7f\u7528\u7b14\u8bb0\u672c\u7535\u8111\uff0c\u624b\u8fb9\u6ca1\u6709\u5916\u63a5\u5c4f\u5e55\u548c\u952e\u76d8\u9f20\u6807\uff0c\u53ef\u8003\u8651\u91c7\u8d2d\u4e00\u4e2a<strong>\u89c6\u9891\u91c7\u96c6\u5361<\/strong>\uff0c\u53ef\u6a21\u62df\u65e0\u9a71UVC\u6444\u50cf\u5934\u5c06HDMI\u5f71\u50cf\uff0c\u900f\u8fc7USB\u4f20\u5230\u7b14\u8bb0\u672c\u7535\u8111\u5b89\u88c5\u7684\u5f71\u50cf\u8f6f\u4ef6\u91cc\uff08macOS\u53ef\u7528Quicktime\u770b\uff09\u3002<br \/>\n\u5f53\u7136\u8fd8\u9700\u8981\u914d\u4e00\u6761 <strong>microHDMI\u8f6cHDMI\u7684\u7ebf<\/strong>\u6765\u8fde\u63a5\u6811\u8393\u6d3e\u3002<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/image-20221126141725588.png\" alt=\"\" \/> <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/image-20221126142453905.png\" alt=\"\" \/><\/p>\n<\/li>\n<li>\n<p><strong>\u952e\u9f20\uff1a<\/strong>\u53e6\u5916\u9700\u8981USB\u952e\u9f20\uff0c\u82e5\u624b\u8fb9\u6ca1\u6709\u7684\u8bdd\uff0c\u53ef\u8003\u8651\u4e00\u5957\uff08\u7b80\u964b\u5c0f\u578b\u4e0d\u5360\u7a7a\u95f4\u7684\uff09<strong>USB\u534f\u8bae\u7684\u65e0\u7ebf\u952e\u9f20<\/strong>\uff0c\u84dd\u7259\u534f\u8bae\u5728OS\u521d\u59cb\u5316\u65f6\u4e0d\u80fd\u4f7f\u7528\u3002\u7b80\u5355\u7684\u8bbe\u7f6e\u540e\u5c31\u53ef\u4ee5\u7528iPad\u6216PC\u8fdc\u7aef\u8fde\u63a5\u4e86\uff0c\u4e0d\u9700\u8981\u592a\u597d\u7684\u952e\u76d8\u3002<\/p>\n<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/image-20221126142153071.png\" alt=\"\" \/><\/p>\n<\/blockquote>\n<h2>2.1 GUI\u542f\u52a8\u8bbe\u7f6e<\/h2>\n<ul>\n<li>\u5c06\u70e7\u5f55\u597d\u7684U\u76d8\u6216SD\u5361\u63d2\u5165\u6811\u8393\u6d3e\uff0c\u63a5\u4e0a\u952e\u76d8\u3001\u9f20\u6807\u3001\u4e0eHDMI\uff08DVI\uff09\u5c4f\u5e55\u7ebf\u540e\uff0c\u5f00\u673a\u5e76\u5f00\u59cbubuntu\u7684\u5b89\u88c5\u3002<\/li>\n<li>\u4f9d\u636e\u5b89\u88c5\u5bfc\u5f15\u8bbe\u5b9a\u9009\u9879\u3001\u597d\u65f6\u533a\u3001\u7f51\u5361\u3001\u8d26\u6237\u7b49\u529f\u80fd\u540e\uff0c\u5b8c\u6210\u5b89\u88c5\u3002\u6ce8\u610f\u82e5\u8981\u4f7f\u7528RDP\uff0c\u5728\u8bbe\u5b9a\u9ed8\u8ba4\u7528\u6237\u65f6\uff0c\u4e0d\u8981\u9009\u81ea\u52a8\u767b\u5f55\u3002<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"\u6811\u8393\u6d3eUbuntuDesktop22\u8bbe\u5b9a.assets\/syssetup.jpg\" alt=\"image-20220711112553836\" style=\"zoom:50%;\" \/> <\/p>\n<h2>2.2 \u5c3d\u5feb\u53ef\u4ee5ssh\u4ecePC\u505a\u540e\u5b89\u88c5<\/h2>\n<h3>2.2.1 \u66f4\u6362\u6210\u56fd\u5185\u6e90\u3001\u5b89\u88c5ssh\u548cnet-tools<\/h3>\n<p>\u7531\u4e8e\u559c\u5927\u666e\u5954\u7684\u539f\u56e0\uff0c\u5728\u4e2d\u56fd\u8fde\u5916\u7f51\u901f\u5f88\u6162\uff0c\u53ef\u4ee5\u4f7f\u7528\u5b66\u672f\u5355\u4f4d\u7684ubuntu\u955c\u50cf\u6765\u52a0\u901f\u7ebf\u4e0a\u5e94\u7528\u7684\u5b89\u88c5\uff1a<\/p>\n<pre><code class=\"language-sh\">sudo -s \n\n# \u5099\u4efd source.list\ncd \/etc\/apt\nsudo cp sources.list sources.list.org \n# CN\uff1a\u66f4\u6362\u6210\u4e2d\u79d1\u5927\u6e90\n#sudo sed -i &#039;s\/ports.ubuntu.com\/mirrors.ustc.edu.cn\/g&#039; sources.list \n# TW\uff1a\u66f4\u63db\u6210\u570b\u5bb6\u5be6\u9a57\u7814\u7a76\u9662\u9ad8\u901f\u7db2\u8def\u8207\u8a08\u7b97\u4e2d\u5fc3 \nsudo sed -i &#039;s\/ports.ubuntu.com\/free.nchc.org.tw\/ubuntu\/g&#039; sources.list\n\n# \u66f4\u65b0 apt\u8d44\u6599\u5e93\nsudo apt update \n# apt\u5347\u7ea7\uff0c\u5f88\u82b1\u65f6\u95f4\uff0c\u6211\u4eec\u665a\u4e00\u70b9\u518d\u505a\u3002\u3002\u3002\n# apt upgrade -y \n\n# \u5b89\u88c5ssh\u548cnet-tools\nsudo apt install ssh  net-tools -y\n\n#\u7981\u6b62root\u8fdc\u7a0b\u767b\u5f55\nsudo sed -i &#039;s\/#PermitRootLogin\/PermitRootLogin\/g&#039; \/etc\/ssh\/sshd_config\nsudo service ssh restart\n# \u4e3a\u5f53\u524d\u7528\u6237\u6dfb\u52a0ssh key\uff0c\u8be2\u95ee\u95ee\u9898\u65f6\u53ef\u4ee5\u76f4\u63a5 Enter \u8df3\u8fc7\u3002\u3002\u3002\nssh-keygen<\/code><\/pre>\n<h3>2.2.2 \u68c0\u67e5 ssh\u662f\u5426\u5408\u683c\u3002<\/h3>\n<p>\u6b64\u65f6\u5df2\u7ecf\u53ef\u4ee5\u4ece PC\/Mac\/Linux \u4e3b\u673a\u8fdc\u7aefssh\u767b\u5165\u4e86\uff0c\u4f7f\u7528 ifconfig \u67e5\u770bIP\uff0c\u6216\u4f7f\u7528 <code>ssh \u8d26\u53f7@\u4e3b\u673a\u540d.local<\/code> \u767b\u5165:<\/p>\n<pre><code class=\"language-sh\"># ssh cyue@IP_ADDRESS\nssh cyue@rpi4.local<\/code><\/pre>\n<p>\u952e\u76d8\u3001\u9f20\u6807\u3001\u5c4f\u5e55\u5360\u5730\u65b9\uff0c\u53ef\u4ee5\u4e0d\u9700\u8981\u4e86\uff0c\u76f4\u63a5\u7528ssh\u8fdc\u7aef\u8bbe\u7f6e\u3002\u3002\u3002\u8bbe\u5b9a\u597dRDP\u540e\uff0c\u53ef\u4ee5\u8fdc\u7aefGUI\u684c\u9762\u4e86\u3002\u3002\u3002<\/p>\n<h1>Part 3 \u53ef\u4ee5\u8fdc\u7aefssh\u7684\u8bbe\u7f6e<\/h1>\n<blockquote>\n<p>\u8fdc\u7aefssh\u7684\u597d\u5904\u662f\u4e00\u4e9b\u547d\u4ee4\u53ef\u4ee5\u4ecePC\u7684\u6587\u4ef6\u590d\u5236\u5230 terminal\u6267\u884c\uff0c\u4e0d\u5fc5\u81ea\u5df1\uff08\u7528\u7b80\u964b\u7684\u5468\u8fb9\uff09\u6572\u547d\u4ee4\u3002<\/p>\n<\/blockquote>\n<h2>3.1 \u7528 netplan \u6dfb\u52a0 usb-typeC\u7f51\u8def\uff1f<\/h2>\n<p>\u6811\u8393\u6d3e\u7684type C\u63a5\u53e3\u9664\u4e86\u53ef\u5f53\u6811\u8393\u6d3e\u7684\u7535\u6e90\u63a5\u53e3\uff0c\u8fd8\u53ef\u4ee5\u5f53USB host \u6216 USB peripheral\u3002<\/p>\n<p><strong>1.2 \u8282<\/strong> \u7684\u8bbe\u5b9a\u5b89\u88c5\u684c\u9762\u7248\u7684ubuntu\u540e\uff0c\u5982\u4f55\u5f53 iPad\u7684\u7f16\u7a0b\u5957\u4ef6\uff1f<\/p>\n<h3>3.1.1 \u5728netplan\u7684 yaml script \u6dfb\u52a0 usb0:<\/h3>\n<p><strong>\u67e5\u627e\u5e76\u7f16\u8f91<\/strong>netplan\u7684 yaml\u6587\u4ef6\uff1a<\/p>\n<pre><code class=\"language-sh\">$ ls \/etc\/netplan\/\n01-network-manager-all.yaml\n\n$ sudo pico \/etc\/netplan\/01-network-manager-all.yaml<\/code><\/pre>\n<p>\u6dfb\u52a0 <strong>ethernets<\/strong> \u7c7b\u7684\u4e24\u5f20\u6709\u7ebf\u7f51\u5361<strong>eth0<\/strong> \u548c <strong>usb0<\/strong>\uff0c\u5e76\u63d0\u4f9b\u7f51\u8def\u53c2\u6570\uff1a<\/p>\n<pre><code class=\"language-yaml\">network:\n  version: 2\n  renderer: NetworkManager\n  ethernets:\n    eth0:\n      dhcp4: true\n      optional: true\n    usb0:\n      dhcp4: false\n      optional: true\n      addresses: [10.55.0.1\/29]\n  wifis:\n    wlan0:\n      dhcp4: true\n      dhcp6: false\n      optional: true\n      access-points:\n        &quot;HE2_5G_4231&quot;:\n          password: &quot;Sunplus@123&quot;\n        &quot;HE2_4231&quot;:\n          password: &quot;Sunplus@123&quot;\n        &quot;cyueXsMax&quot;:\n          password: &quot;20130201&quot;\n        &quot;AsusCyue_2G4&quot;:\n          password: &quot;20130201&quot;<\/code><\/pre>\n<p>\u5df2\u77e5\u5e38\u7528\u7684wifi\u4e5f\u53ef\u4ee5\u5728\u6b64\u8bbe\u7f6e\uff0c\u4ee5\u540e\u4e0d\u5fc5\u4e00\u4e2a\u4e00\u4e2a\u7684\u6dfb\u52a0\u3002<\/p>\n<p>\u7f16\u5199\u597d\u540e<strong>\u5e94\u7528\u8bbe\u7f6e<\/strong> \uff1a<\/p>\n<pre><code class=\"language-sh\">sudo netplan apply<\/code><\/pre>\n<h3>3.1.2 \u4e3a usb0\u7f51\u5361\u6dfb\u52a0 dnsmasq \u670d\u52a1<\/h3>\n<p>\u8fd9\u6837 PC\/Mac\/Linux\/iPadPro\u7b49\u88c5\u7f6e\u76f4\u8fde\u6811\u8393\u6d3e\u65f6\uff0c\u6811\u8393\u6d3e\u5c31\u80fd\u81ea\u52a8\u63d0\u4f9bIP\u5730\u5740\uff0c\u4e0d\u5fc5\u624b\u52a8\u8bbe\u5b9aIP\u3002<\/p>\n<pre><code class=\"language-sh\"># \u5b89\u88c5dnsmasq\nsudo apt install dnsmasq -y\nmkdir -p \/etc\/dnsmasq.d\n\n# \u8bbe\u5b9ausb0\u8fde\u7ebf\u4e0a\u7684dhcp\u670d\u52a1\u5185\u5bb9\necho &quot;interface=usb0\ndhcp-range=10.55.0.3,10.55.0.6,255.255.255.248,1h\ndhcp-option=3\nleasefile-ro\nport=0&quot; |sudo tee \/etc\/dnsmasq.d\/usb\n\n# \u521a\u5b89\u88c5 dnsmasq \u4f1a\u51b2\u7a81\uff0c\u53d6\u6d88\u6ce8\u91ca \/etc\/default\/dnsmasq \u7684 `DNSMASQ_EXCEPT`\nsudo sed -i &#039;s\/#DNSMASQ_EXCEPT=&quot;lo&quot;\/DNSMASQ_EXCEPT=&quot;lo&quot;\/g&#039; \/etc\/default\/dnsmasq\n\n# \u518d\u91cd\u542f dnsmasq\u670d\u52a1\uff0c\u5e76\u67e5\u770b\u670d\u52a1\uff0c\u6ca1\u6709\u5947\u602a\u989c\u8272\u5c31\u6210\u529f\u4e86\u3002\u3002\u3002\nsudo  service dnsmasq restart\nsudo  service dnsmasq status<\/code><\/pre>\n<p>\u67e5\u770b <strong>macOS\u7684RNDIS\/Ethernet Gadget<\/strong> \u7f51\u8def\u8bbe\u7f6e\uff0c\u5df2\u7ecf\u88ab\u63d0\u4f9b\u4e86\u6b63\u786e\u7684IP\u5730\u5740\u4e86\uff0c\u771f\u9999\u3002<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/image-20221126210235116.png\" alt=\"\" \/><\/p>\n<h2>3.2 \u5b89\u88c5 XRDP<\/h2>\n<ul>\n<li>Xrdp \u88ab\u5305\u542b\u5728\u9ed8\u8ba4\u7684 Ubuntu \u8f6f\u4ef6\u6e90\u4e2d\u3002\u60f3\u8981\u5b89\u88c5\u5b83\uff0c\u8fd0\u884c\uff1a<\/li>\n<\/ul>\n<pre><code class=\"language-sh\"># 0. XRDP\u6700\u597d\u7528\u8f83\u65b0\u7684\uff0c\u66f4\u65b0\u4e00\u4e0b\u7cfb\u7edf\u5427\u3002\u3002\u3002\nsudo apt upgrade -y \n\n# 1. \u5b89\u88c5xrdp\nsudo apt install -y xrdp \n\n# 2. \u89e3\u51b3RDP\u767b\u5f55\u65f6\u53cd\u590d\u9a8c\u8bc1\u95ee\u9898\necho &quot;[Allow Wifi Scan]\nIdentity=unix-user:*\nAction=org.freedesktop.NetworkManager.wifi.scan;org.freedesktop.NetworkManager.enable-disable-wifi;org.freedesktop.NetworkManager.settings.modify.own;org.freedesktop.NetworkManager.settings.modify.system;org.freedesktop.NetworkManager.network-control\nResultAny=yes\nResultInactive=yes\nResultActive=yes&quot; | sudo tee \/etc\/polkit-1\/localauthority\/50-local.d\/47-allow-wifiscan.pkla\n\n# 3. \u89e3\u51b3\u201c\u8272\u5f69\u7ba1\u7406\u8bbe\u5907\u201d \/ \u201ccolor managed device\u201d \u5f39\u7a97\necho &quot;[Allow Colord all Users]\nIdentity=unix-user:*\nAction=org.freedesktop.color-manager.create-device;org.freedesktop.color-manager.create-profile;org.freedesktop.color-manager.delete-device;org.freedesktop.color-manager.delete-profile;org.freedesktop.color-manager.modify-device;org.freedesktop.color-manager.modify-profile\nResultAny=no\nResultInactive=no\nResultActive=yes&quot; | sudo tee \/etc\/polkit-1\/localauthority\/50-local.d\/45-allow-colord.pkla\n\n# 4. \u89e3\u51b3\u201c\u5237\u65b0\u7cfb\u7edf\u8f6f\u4ef6\u6e90\u9700\u8981\u8ba4\u8bc1\u201d \/ \u201crefresh the system repositories\u201d \u5f39\u7a97\necho &quot;[Allow Refresh Repository all Users]\nIdentity=unix-user:*\nAction=org.freedesktop.packagekit.system-sources-refresh\nResultAny=no\nResultInactive=no\nResultActive=yes&quot; | sudo tee \/etc\/polkit-1\/localauthority\/50-local.d\/46-allow-packagekit.pkla\n\n# 5. \u6ce8\u91ca\u6389 `AutomaticLoginEnable` \u548c `AutomaticLogin` \u53d8\u91cf\uff1a\nsudo sed -i &#039;s\/AutomaticLoginEnable\/#AutomaticLoginEnable\/g&#039; \/etc\/gdm3\/custom.conf\nsudo sed -i &#039;s\/AutomaticLogin\/#AutomaticLogin\/g&#039; \/etc\/gdm3\/custom.conf\n\n# \u91cd\u542fRDP\u670d\u52a1\nsudo systemctl restart xrdp\n# \u67e5\u770b XRDP\u670d\u52a1\nsudo systemctl status xrdp<\/code><\/pre>\n<p>usb0\u7f51\u5361\u8bbe\u7f6e\u597d\uff0cRDP\u5b89\u88c5\u597d\uff0c\u5c31\u53ef\u4ee5\u65e0\u89c6\u73af\u5883Wifi\uff0c\u901a\u8fc7 usb\u7f51\u8def\uff0c\u628a\u6811\u8393\u6d3e\u5f53\u79c1\u4eba\u7684\u684c\u9762\u7248Linux\u5f00\u53d1\u5de5\u5177\u7528\u4e86\u3002<\/p>\n<p>==\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014-==<\/p>\n<h1>Part 4 \u53ef\u9009\u62e9\u5728RDP\u8fdc\u7aef\u684c\u9762GUI\u4e0b\u7684\u8bbe\u7f6e<\/h1>\n<h2>4.1 \u8bbe\u5b9a OpenVPN \u5716\u5f62\u5ba2\u6236\u7aef<\/h2>\n<p>\u6709\u8bb8\u591a\u5de5\u5177\u8981\u900f\u8fc7VPN\u624d\u80fd\u53d6\u5f97\u3002\u3002\u3002\u3002\u6211\u7528OpenVPN\u3002<\/p>\n<ul>\n<li>\n<p>\u4eceOpenVPN\u670d\u52d9\u5668\u53d6\u5f97\u7ed9\u6811\u8393\u6d3e\u7684 tw-rpi4.ovpn \u8bbe\u5b9a\u6587\u4ef6:<\/p>\n<pre><code class=\"language-sh\">scp cyue@cyuembp.local:~\/Downloads\/tw-rpi4.ovpn .<\/code><\/pre>\n<\/li>\n<li>\n<p>\u4ece\u684c\u9762\u53f3\u4e0a\u65b9\u7684\u83dc\u5355\u9009\uff1a\u8bbe\u5b9a\uff08Settings\uff09\uff0c \u5f39\u7a97\u540e\u9009\uff1a\u7f51\u8def\uff08Network\uff09\uff0c\u7136\u540e\u6309 VPN\u53f3\u65b9\u7684 \u2018+\u2019 \u53f7\u6dfb\u52a0 VPN\u3002<\/p>\n<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/image-20221126133125853-291x300.png\" alt=\"\" \/> <\/p>\n<ul>\n<li>\n<p>\u6dfb\u52a0VPN\u65b9\u5f0f\u9009\u62e9 \u201cimport from file\u3002\u3002\u3002\u201d\uff0c \u5c06\u670d\u52a1\u5668\u63d0\u4f9b\uff08\u88ab\u66f4\u540d\u8fc7\uff09\u7684 &quot;tw-rpi4.ovpn&quot; \u63d0\u4ea4\u4e0a\u53bb\u3002<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/image-20221126133230218.png\" alt=\"\" \/><\/p>\n<\/li>\n<li>\n<p>\u684c\u9762GUI\u7684\u53f3\u4e0a\u89d2\u5c31\u4f1a\u6709 VPN \u9009\u9879\u4e86\u3002<\/p>\n<\/li>\n<li>\n<p>==Ubuntu 22.04: \u8001\u8def\u7531OpenVPN \u4e0d\u80fdwork\uff0c\u9700\u8981\u8bbe\u5b9a\u3002==<br \/>\n\u6bd4\u5982 tw-rpi4.ovpn \u6307\u5b9a\u7684OpenVPN\u670d\u52a1\u5668\u662f\u4e00\u53f0\u8001\u8def\u7531\uff0c\u8bbe\u5b9a\u6587\u4ef6\u5b89\u88c5\u540e\u6253\u4e0d\u5f00VPN\u670d\u52a1\uff0c\u6b64\u65f6\u7f16\u8f91:<\/p>\n<\/li>\n<\/ul>\n<blockquote>\n<pre><code class=\"language-sh\">sudo pico \/etc\/NetworkManager\/system-connections\/tw-rpi4.nmconnection<\/code><\/pre>\n<p>\u5728 <code>[vpn]<\/code> \u6bb5\u7684 <code>ca=\u2026.<\/code> \u4e0b\u6dfb\u52a0\u4e00\u884c <code>tls-cipher<\/code> \u8bbe\u7f6e\uff0c\u8bbe\u5b9a\u53ef\u63a5\u53d7\u7684\u5b89\u5168\u7b49\u7ea7\uff08SECLEVEL\uff09\u503c\u4e3a 0\uff5e5\uff1a<\/p>\n<pre><code class=\"language-sh\">tls-cipher=DEFAULT:@SECLEVEL=0<\/code><\/pre>\n<p>\u5f88\u8001\u7684\u8def\u7531\u8bbe\u62100\u7ea7\u5c31\u597d\uff0c\u7136\u540e\u91cd\u542f\u7f51\u8def\u8fde\u63a5\uff1a<\/p>\n<pre><code class=\"language-sh\">sudo systemctl restart NetworkManager<\/code><\/pre>\n<p>\u6b64\u65f6 \u5c31\u80fd\u8fde\u63a5\u8fdc\u7aef\u8001\u8def\u7531\u7684OpenVPN\u670d\u52a1\u5de5\u4f5c\u4e86\u3002<\/p>\n<ul>\n<li>tw-rpi4.nmconnection \u5bf9\u5e94 tw-rpi4.ovpn \u6587\u4ef6\u3002<\/li>\n<\/ul>\n<\/blockquote>\n<h2>4.2 \u5b89\u88c5 Chromium \u6362\u6389 Firefox<\/h2>\n<p>\u53ef\u4ee5\u4f7f\u7528\u6587\u5b57\u6a21\u5f0f\u7684snap\u547d\u4ee4\uff0c\u4e5f\u53ef\u4ee5\u7528GUI\u7684 snap store \u5e94\u7528\u5e02\u573a\u7ba1\u7406\u5e94\u7528\u3002<\/p>\n<p><strong>\u6587\u5b57\u6a21\u5f0f\uff1a<\/strong><\/p>\n<pre><code class=\"language-sh\">sudo snap install chromium\nsudo snap remove firefox<\/code><\/pre>\n<p><strong>GUI\u6a21\u5f0f\uff1a<\/strong><\/p>\n<p>Ubuntu \u684c\u9762\u7248\u7684\u73af\u5883\u6709 snapstore \u5e02\u573a\uff0c\u53ef\u4ee5\u76f4\u63a5\u67e5\u627e\u60f3\u5b89\u88c5\u7684\/\u5378\u8f7d\u5df2\u5b89\u88c5\u7684\u5e94\u7528\u3002\u3002\u3002\u3002<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/image-20221126134039738.png\" alt=\"\" \/><\/p>\n<h2>4.3 \u5b89\u88c5\u901a\u7528\u7f16\u8bd1\u73af\u5883<\/h2>\n<h3>4.3.1 \u4e00\u822c\u7684\u7f16\u7a0b\u8bed\u8a00\u3001Python IDE<\/h3>\n<pre><code class=\"language-sh\">sudo apt install clang gcc cmake python3 python3-tk python3-pip thonny<\/code><\/pre>\n<p>clang\u3001gcc\u3001python\u3001\u4ee5\u53capython\u5b66\u4e60\u5f88\u597d\u7528\u7684IDE\uff1a Thonny\u3002<\/p>\n<h3>4.3.2 \u5b89\u88c5 VSCode<\/h3>\n<p>\u5404\u4e2a\u7248\u672c\u7684 VSCode \u7684\u5b89\u88c5\u5305\u4f4d\u7f6e\uff1a <a href=\"https:\/\/code.visualstudio.com\/Download\">https:\/\/code.visualstudio.com\/Download<\/a> \u6811\u8393\u6d3e4\u8981\u4e0b\u8f7d Arm64\u7684 deb\u5305\u3002<\/p>\n<pre><code class=\"language-sh\"># \u76ee\u524d\u662f 1.73.1 \u7248\nwget https:\/\/az764295.vo.msecnd.net\/stable\/6261075646f055b99068d3688932416f2346dd3b\/code_1.73.1-1667966450_arm64.deb\n# \u5b89\u88c5\nsudo dpkg -i code_1.73.1-1667966450_arm64.deb \n<\/code><\/pre>\n<p>\u66fe\u9047\u5230VSCode\u5b89\u88c5\u5931\u8d25<\/p>\n<blockquote>\n<p>\u5728\u5b89\u88c5 1.69.2\u7248\u65f6\u66fe\u9047\u5230\u4e86\u90e8\u5206\u9700\u8981 libxssl \u7684\u95ee\u9898\uff0c\u89e3\u6cd5\uff1a<\/p>\n<pre><code class=\"language-sh\">#\u5fc5\u8981\u65f6\u4fee\u590d apt\u548c dpkg \u5e93\u3002\napt --fix-broken install \nsudo dpkg --configure -a \n#\u7528 apt \u5b89\u88c5 libxssl \u540e\uff0c\u518d\u5b89\u88c5 vscode\u3002\nsudo apt install libxssl\nsudo dpkg -i code_1.69.2-1658161440_arm64.deb<\/code><\/pre>\n<\/blockquote>\n<h3>4.4 \u6267\u884c VSCode\uff0c\u5b89\u88c5 C\/C++\u3001Rust \u7684\u6269\u5145\u5305\uff1a<\/h3>\n<ul>\n<li>\u70b9\u51fb\u6269\u5145 icon\uff0c\u5bfb\u627e C++\uff0c\u5b89\u88c5 C\/C++ Exrension Pack\uff1a<\/li>\n<\/ul>\n<p>![](<a href=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/image-20220722231756318.png\">https:\/\/vm1.go2see.me\/wp-content\/uploads\/image-20220722231756318.png<\/a>\uff09<\/p>\n<ul>\n<li>\u5b89\u88c5 Rust Development Extension Pack\uff1a<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/image-20220722233533747.png\" alt=\"\" \/><\/p>\n<h2>4.5 \u8bed\u8a00\u4e0e\u8f93\u5165\u6cd5\u5b89\u88c5<\/h2>\n<p>\uff5e\uff5e\uff5e\u82e5\u9700\u5728\u8981\u7f16\u8f91\u4e2d\u6587\u5b57\uff0c\u53ef\u4ee5\u5b89\u88c5\u8bed\u8a00\u548c\u8f93\u5165\u6cd5\uff5e\uff5e\uff5e<\/p>\n<p>\u8fd9\u91cc\u4ecb\u7ecd\u5b89\u88dd\u7b80\u4e2d\u3001\u7e41\u4e2d\u3002<\/p>\n<h4>\u5efa\u8b70\u4f7f\u7528\u65b9\u5f0f\uff1a<\/h4>\n<blockquote>\n<ul>\n<li>\n<p>\u7b80\u4f53\u8f93\u5165\u7528\u6237\uff1a\u5b89\u88c5<strong>\u667a\u80fd\u62fc\u97f3<\/strong>\u8f93\u5165\u6cd5\u3002<\/p>\n<\/li>\n<li>\n<p>\u7e41\u9ad4\u8f93\u5165\u7528\u6237\uff1a\u5b89\u88c5<strong>\u65b0\u9177\u97f3<\/strong>\u8f38\u5165\u6cd5\uff0c\u53ef\u4ee5\u9078\u64c7\u6f22\u8a9e\u62fc\u97f3\u9375\u76e4\uff0c\u9019\u6a23\u9375\u76e4\u5c31\u4e0d\u5fc5\u7528\u3105\u3106\u3107\u3108(bpmf)\u987a\u5e8f\u6392\u5217\u7684\u6ce8\u97f3\u7b26\u865f\u9375\u76e4\u3002\u6ce8\u610f\u65b0\u9177\u97f3\u6bcf\u500b\u5b57\u8981\u52a0\u4e0a\u97f3\u8abf\u8f38\u51fa\uff082\uff5e5\uff0c\u7a7a\u767d\u53ef\u5f53\u4e00\u58f0\uff09\u3002<\/p>\n<\/li>\n<li>\n<p>\u8f93\u5165\u6cd5\u5185\u7684\u4e2d\u82f1\u5207\u6362\u662f\u7c7b\u4f3cWindows\u7684\u3010Shift\u3011\uff0c\u4e0d\u662fmacOS\u548ciOS\u5e38\u7528\u7684\u3010Caps Lock\u3011\u3002<\/p>\n<\/li>\n<li>\n<p>\u5efa\u8bae\u5b89\u88c5\u4e2d\u6587\u8f93\u5165\u6cd5\u540e\uff0c\u4ee5\u65b0\u7684\u8f93\u5165\u6cd5\u4e3a\u9996\u9078\u8f93\u5165\u6cd5\u6392\u5217\uff1b\u4e26\u5728\u8f38\u5165\u6cd5\u7684\u8f38\u5165\u8a2d\u5b9a\u4e2d\uff0c\u7f3a\u7701\u4f7f\u7528\u82f1\u6587\u8f93\u5165\u3002\u8fd9\u6837\u5728\u9700\u8981\u4e2d\u6587\u65f6\uff0c\u53ea\u8981\u6309\u3010shift\u3011\u5c31\u80fd\u4e2d\u82f1\u5207\u6362\u4e86\u3002<\/p>\n<\/li>\n<\/ul>\n<\/blockquote>\n<h3>\u8bed\u8a00\u5b89\u88c5\uff1a<\/h3>\n<ul>\n<li>\u7cfb\u7edf\u8bbe\u5b9a app \uff08\u53ef\u4ee5\u4ece\u53f3\u4e0a\u89d2icon\u70b9\u53f3\u952e\u76ee\u5f55\uff0c\u9009\u201cSettings\u201d\u6216\u201c\u8bbe\u5b9a\u201d\u83dc\u5355\uff09\n<ol>\n<li>\u9009 \u201cRegion &amp; Language\u201d\u3002<\/li>\n<li>\u9009 \u201cManage Installed Languages\u201d \u3002<\/li>\n<li>\u9009\u201cInstall\/Remove Languages\u201d\u3002<\/li>\n<li>\u52fe\u9009\u6dfb\u52a0 <strong>\u7b80\u4e2dChinese(simplified)<\/strong> \u4e0e <strong>\u7e41\u4e2dChinese(tranditional)<\/strong>\u3002<\/li>\n<li>\u70b9\u51fb\u201cApply\u201d\u786e\u8ba4\u3002<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/image-20221127132223914.png\" alt=\"\" \/><\/p>\n<ul>\n<li>\u82e5\u663e\u793a \u201c\u652f\u6301\u7684\u8bed\u8a00\u6ca1\u5b89\u88c5\u5b8c\u6574\u201d\uff0c\u6839\u636e\u63d0\u793a\u7ee7\u7eed\u5b89\u88c5\u8bed\u8a00\u3002<\/li>\n<li>\u70b9\u51fb\u201c\u6dfb\u52a0\u6216\u5220\u9664\u8bed\u8a00\u201d\u786e\u8ba4\u4e2d\u6587\uff08\u7b80\u4f53\uff09\u3001\u6216 \u4e2d\u6587\uff08\u7e41\u4f53\uff09\u5b89\u88c5\u597d\u4e86\u3002<\/li>\n<li>==\u4f1a\u9700\u8981\u91cd\u65b0\u767b\u5f55\uff0c\u6765\u5b8c\u6210\u8bed\u8a00\u6dfb\u52a0\uff0c\u4e4b\u540e\u624d\u80fd\u518d\u4fee\u6539\u8f93\u5165\u6cd5==\u3002<\/li>\n<\/ul>\n<h3>\u9375\u76e4\uff08\u8f93\u5165\u6cd5\uff09\u7684\u5b89\u88c5\uff1a<\/h3>\n<ul>\n<li>\u7cfb\u7edf\u8bbe\u5b9a app \u9009 keyboard \u2014 \u201cinput source\u201d\u7684 \u201c+\u201d \u53f7\u6dfb\u52a0\u65b0\u7684\u8f93\u5165\u6cd5\u3002<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/image-20221127133951583.png\" alt=\"\" \/><\/p>\n<p>\u200b   1.\u5927\u9646\u4e2d\u6587 <strong>Chinese(China)<\/strong> \u9009\u62e9\u6dfb\u52a0<strong>\u667a\u80fd\u62fc\u97f3 \uff08Intelligent Pinyin\uff09<\/strong>\u8f93\u5165\u6cd5\u3002<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/cn.jpg\" alt=\"\" \/><\/p>\n<ol start=\"2\">\n<li>\n<p>\u53f0\u6e7e\u4e2d\u6587<strong>Chinese(Taiwan)<\/strong> \u9009\u62e9\u6dfb\u52a0<strong>\u65b0\u9177\u97f3(Chewing)<\/strong> \u8f93\u5165\u6cd5\u3002<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/tw.jpg\" alt=\"\" \/><\/p>\n<\/li>\n<\/ol>\n<ul>\n<li>\n<p>\u5bf9\u6bcf\u4e2a\u8f93\u5165\u6cd5\u53ef\u4ee5\u5728\u53f3\u65b9\u9009\u62e9\uff1a<\/p>\n<ol>\n<li>\u4e0a\u4e0b\u79fb\u52a8\uff08\u8f93\u5165\u6cd5\u4f18\u5148\u987a\u5e8f\u8c03\u6574\uff09<\/li>\n<li>Preference\uff08\u8f93\u5165\u6cd5\u8bbe\u7f6e\uff09<\/li>\n<\/ol>\n<p><img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/pref.jpg\" alt=\"\" \/><\/p>\n<\/li>\n<li>\n<p>\u7b80\u4e2d\uff08Intelligent Pinin\/\u667a\u80fd\u62fc\u97f3\uff09\u8f93\u5165\u6cd5\u8bbe\u7f6e<\/p>\n<\/li>\n<\/ul>\n<p>\u4e00\u822c\u8bbe\u7f6e\u5c31\u53ef\u4ee5\u4e86\u3002<\/p>\n<ol>\n<li>\u521d\u59cb\u8bbe\u7f6e\u53ef\u4ee5\u9009\u82f1\u6587\u3002<\/li>\n<li>\u9009\u5b57\u987a\u5e8f\u53ef\u4ee5\u6539\u6210\u4f7f\u7528\u9891\u7387\u3002<\/li>\n<li>\n<p>\u53ef\u4ee5\u6dfb\u52a0\u5e38\u7528\u7684\u5b57\u5178\u5e93\u3002<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/pinyinsetup.jpg\" alt=\"\" \/><\/p>\n<\/li>\n<\/ol>\n<ul>\n<li>\n<p>\u7e41\u4e2d\uff08Chewing\/\u65b0\u9177\u97f3\uff09\u8f93\u5165\u6cd5\u7684\u8bbe\u7f6e<br \/>\n\u4e0d\u662f\u53f0\u7063\u7684\u8cfc\u8cb7\u7684\u9375\u76e4\u901a\u5e38\u6c92\u6a19\u8a3b\u3105\u3106\u3107\u3108(bpmf)\u7684\u6392\u5217\uff0c\u53ef\u4ee5\u6539\u7528\uff08Hanyu\/\u6f22\u8a9e\u62fc\u97f3)\u65b9\u5f0f\u7684\u8f38\u5165\uff0c\u548c\u5927\u9678\u7684\u62fc\u97f3\u985e\u4f3c\u8f38\u51fa\u7e41\u9ad4\u5b57\uff0c\u4f46\u6ce8\u610f\u65b0\u9177\u97f3\u6bcf\u500b\u5b57\u8981\u52a0\u4e0a\u8a9e\u8abf\uff08\u6578\u5b571\uff5e5\uff09\u8f38\u5165\u6cd5\u6703\u667a\u80fd\u9078\u8a5e\u3002<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/kuyinsetup.jpg\" alt=\"\" \/><\/p>\n<\/li>\n<\/ul>\n<h3>\u4f7f\u7528<\/h3>\n<p>\u5728\u6267\u884c\u9700\u8981\u8f93\u5165\u7684\u5e94\u7528\u65f6\uff0c\u684c\u9762\u53f3\u4e0a\u89d2\u4f1a\u5f39\u51fa\u73b0\u5728\u7684\u8f93\u5165\u6cd5\u72b6\u6001\uff0c\u70b9\u51fb\u53ef\u4ee5\u6311\u9009\u4f7f\u7528\u4e0d\u540c\u7684\u8f93\u5165\u6cd5\u3002<\/p>\n<p>\u667a\u80fd\u62fc\u97f3\u548c\u65b0\u9177\u97f3\u90fd\u53ef\u4ee5\u7528\u3010shift\u3011\u5207\u6362\u4e2d\u82f1\u6587\u8f93\u5165\u6a21\u5f0f\u3002<br \/>\n<img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/testinput.jpg\" alt=\"\" \/><\/p>\n<h2>4.6 Add Users<\/h2>\n<p>\u6211\u4e3a\u5bb6\u4eba\u8bbe\u5b9a\u597d\u4e86\u8d26\u6237\u5bc6\u7801\uff0c\u53ef\u4ee5\u7528PC\u6216iPad \u8fde\u63a5\u6811\u8393\u6d3e\u5de5\u4f5c\u3002<br \/>\n\uff08\u5148\u4f7f\u75286\u7801\u751f\u65e5\u5f53\u5bc6\u7801\uff0c\u8bf7\u81ea\u5df1\u5728\u7ec8\u7aefapp\u4f7f\u7528 passwd \u547d\u4ee4\u66f4\u6539\u3002)<\/p>\n<pre><code class=\"language-sh\"># \u6dfb\u52a0\u65b0\u7528\u6237\uff0c\u4f1a\u8be2\u95ee \u5bc6\u7801\u3001\u5168\u540d\u3001\u3002\u3002\u3002\u3002\nsudo adduser tony\n\nsudo adduser johnny\n\nsudo adduser shari\n\n# \u628a\u73b0\u6709\u7684\u7528\u6237\uff0c\u6dfb\u52a0\u5230\u73b0\u6709\u7684\u7fa4\u7ec4\u4e2d\u3002\u3002\u3002\u3002\nsudo adduser tony sudo\nsudo adduser tony adm\nsudo adduser tony cdrom\nsudo adduser tony dip\nsudo adduser tony plugdev\nsudo adduser tony lpadmin\nsudo adduser tony lxd\nsudo adduser tony sambashare\n\nsudo adduser johnny sudo\nsudo adduser johnny adm\nsudo adduser johnny cdrom\nsudo adduser johnny dip\nsudo adduser johnny plugdev\nsudo adduser johnny lpadmin\nsudo adduser johnny lxd\nsudo adduser johnny sambashare\n\nsudo adduser shari sudo\nsudo adduser shari adm\nsudo adduser shari cdrom\nsudo adduser shari dip\nsudo adduser shari plugdev\nsudo adduser shari lpadmin\nsudo adduser shari lxd\nsudo adduser shari sambashare<\/code><\/pre>\n<h1>5 iPad\u7528\u6237\u7684RDP\u767b\u5165<\/h1>\n<p>\u4eceApp Store\u4e0b\u8f7d \uff08\u5fae\u8f6f\u7684\uff09 RD Client \u5e94\u7528\u6765\u8fde\u63a5\u6811\u8393\u6d3e\u3002<\/p>\n<p>iPad\u82e5\u4f7f\u7528typeC\u7ebf\u7ed9\u6811\u8393\u6d3e4\u4f9b\u7535\uff0c\u53ef\u4ee5\u9009\u62e9\u900f\u8fc7\u8bbe\u5b9a\u7684 IP\uff1a10.55.0.1 \u6709\u7ebf\u8fde\u63a5\u6811\u8393\u6d3e\u3002\u5f53 iPad\u4e0e\u6811\u8393\u6d3e4\u5728\u540c\u4e00\u4e2aWifi\u7f51\u57df\uff0c\u53ef\u4ee5\u4f7f\u7528 <code>rpi4.local<\/code> \u8fde\u63a5\u6811\u8393\u6d3e\u3002\u6240\u4ee5\uff0c\u6211\u4f1a\u5728 RD Client \u4e2d\u5b9a\u4e49\u4e24\u53f0PC\uff0c\u5c31\u53ef\u4ee5\u5728\u5728\u4e0d\u540c\u7684\u72b6\u51b5\u4e0b\u8fde\u63a5\u6811\u8393\u6d3e\u7684\u684c\u9762\u3002<\/p>\n<h2>5.1 \u8fde\u63a5\u8bbe\u5b9a<\/h2>\n<p><strong>\u65e0\u7ebf\u73af\u5883\u4e0b\u7684\u8fde\u63a5\uff1a<\/strong><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/IMG_019D6F3B14D4-1-820x1024.jpeg\" alt=\"\" \/><\/p>\n<p><strong>typeC\u8fde\u7ebf\u4e0b\u7684\u8fde\u63a5\u8bbe\u5b9a\uff1a<\/strong><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/IMG_7FFEC3847E3C-1-840x1024.jpeg\" alt=\"\" \/><\/p>\n<h2>5.2 \u8fdb\u5165\u684c\u9762\u73af\u5883<\/h2>\n<p>\u8f93\u5165\u8d26\u6237\u540e\uff0c\u4f1a\u8fdb\u5165\u684c\u9762\uff0c\u4e4b\u524d\u6ca1\u6267\u884c\u7a0b\u5f0f\u7684\u8bdd\uff0c\u684c\u9762\u5e72\u5e72\u51c0\u51c0\u3002\u53f3\u4e0a\u89d2\u662f\u7535\u6e90\u7f51\u8defVPN\u7b49\u7684\u8bbe\u7f6e\u6309\u94ae\uff0c\u5de6\u4e0a\u89d2\u662f\u5f00\u59cb\u884c\u52a8\uff08Activities\uff09\u7684\u6309\u94ae\u3002\u4e2d\u95f4\u4e0a\u65b9\u7684\u662fRD Client \u5e94\u7528\u7684\u63a7\u5236\u6309\u94ae\u3002<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/IMG_6F7375F22205-1.jpeg\" alt=\"\" \/><\/p>\n<p>\u70b9\u51fb activities \u540e\uff0c\u754c\u9762\u4f1a\u8fdb\u5165App\u9009\u62e9\u6a21\u5f0f\uff0c\u53ef\u4ee5\u770b\u5230\u4e0b\u65b9\u7684\u5e94\u7528 dashboard\uff08\u4eea\u8868\u677f\uff09\uff0c\u73b0\u6709\u5c4f\u89c6\u7a97\u5de6\u65b9\u6216\u53f3\u65b9\u53ef\u80fd\u4f1a\u6709\u5176\u4ed6\u5e94\u7528\u89c6\u7a97\u53ef\u4ee5\u5207\u6362\u3002\u5e38\u7528\u7684App\u53ef\u4ee5\u81ea\u5df1\u9009\u62e9\u9489\u9009\u5230\u4eea\u8868\u677f\u4e0a\uff08Pin to Dash\uff09\uff0c\u4eea\u8868\u677f\u6700\u53f3\u8fb9\u662f\u5176\u4ed6\u672a\u88ab\u9489\u9009\u7684App\u83dc\u5355\u3002\u70b9\u51fb\u5e94\u7528\u5373\u53ef\u5f00\u542f\uff0c\u957f\u6309\u5e94\u7528\u518d\u653e\u5f00\uff0c\u5c31\u53ef\u4ee5\u505a\u9489\u9009\uff08Pin to Dash)\u3001\u5168\u5c4f\u5e55\u6253\u5f00\uff08New Window\uff09\u3001\u4e3a\u5e94\u7528\u5f00\u65b0\u7684\u6587\u4ef6\u7b49\u5176\u4ed6\u53ef\u80fd\u7684\u64cd\u4f5c\u3002<\/p>\n<p>\u6b64\u65f6\u684c\u9762\u662f\u88ab\u7f29\u5c0f\u7684\uff0c\u53ef\u4ee5\u770b\u5230\u53f3\u65b9\u8fd8\u6709\u684c\u9762\uff0c\u53ef\u4ee5\u628a\u5df2\u7ecf\u5f00\u542f\u7684App\u62c9\u5230\u62c9\u5230\u4e0b\u4e00\u4e2a\u684c\u9762\u3002<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/IMG_354AFB16B36D-1.jpeg\" alt=\"\" \/><\/p>\n<p>\u4e3e\u4f8b\uff0c\u6211\u957f\u6309\u4e86 LibreOffice\u7248\u7684 Word\uff0c\u8df3\u51fa\u4e86\u65b0\u89c6\u7a97\u3001\u65b0\u6587\u4ef6\u3001\u6216\u53d6\u6d88\u9489\u90093\u4e2a\u9009\u9879\uff0c\u6bcf\u6dfb\u52a0\u4e00\u4e2a\u5e94\u7528<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/IMG_BA8B8033EF47-1.jpeg\" alt=\"\" \/><\/p>\n<p>\u5c31\u4f1a\u5728\u65b0\u89c6\u7a97\u684c\u9762\u4e0b\uff0c\u5f00\u542f\u5168\u5c4f\u7684 Word\u7a0b\u5f0f\uff0c\u70b9\u51fb\u6b64\u65b0\u89c6\u7a97\u5c31\u53ef\u4ee5\u5168\u5c4f\u7f16\u8f91Word\u6587\u4ef6\u3002<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/IMG_A4BE1CE4154A-1.jpeg\" alt=\"\" \/><\/p>\n<p>\u7cfb\u7edf\u53ef\u4ee5\u5f00\u591a\u4e2a\u5168\u5c4f\u89c6\u7a97\u7528 Activities\u6309\u94ae\u8fdb\u5165\u9009\u62e9\u6a21\u5f0f\u540e\u9009\u62e9\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6811\u8393\u6d3e Ubuntu Desktop 22.04 \u8bbe\u5b9a\u8bb0\u5f55 cyue 2022-11-26 \u524d\u8a00 \u6811\u8393\u6d3e4B &#8230; &raquo; <a class=\"read-more-link\" href=\"https:\/\/vm1.go2see.me\/?p=355\">\u95b1\u8b80\u5168\u6587<\/a><\/p>\n","protected":false},"author":1,"featured_media":410,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10,11],"tags":[],"class_list":["post-355","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-embedded","category-linux"],"_links":{"self":[{"href":"https:\/\/vm1.go2see.me\/index.php?rest_route=\/wp\/v2\/posts\/355","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vm1.go2see.me\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vm1.go2see.me\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vm1.go2see.me\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vm1.go2see.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=355"}],"version-history":[{"count":6,"href":"https:\/\/vm1.go2see.me\/index.php?rest_route=\/wp\/v2\/posts\/355\/revisions"}],"predecessor-version":[{"id":476,"href":"https:\/\/vm1.go2see.me\/index.php?rest_route=\/wp\/v2\/posts\/355\/revisions\/476"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vm1.go2see.me\/index.php?rest_route=\/wp\/v2\/media\/410"}],"wp:attachment":[{"href":"https:\/\/vm1.go2see.me\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=355"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vm1.go2see.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=355"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vm1.go2see.me\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=355"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}