<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-5216775538966060385</atom:id><lastBuildDate>Sat, 14 Mar 2026 16:28:59 +0000</lastBuildDate><category>Linux</category><category>Python</category><category>Fedora</category><category>Manjaro</category><category>Ubuntu</category><category>LaTeX</category><category>Blogger</category><category>VS Code</category><category>Debian</category><category>7.10</category><category>8.04</category><category>DataFrame</category><category>Firefox</category><category>Hardy</category><category>Hyper-V</category><category>LXDE</category><category>No-IP</category><category>OpenOffice</category><category>VirtualBox</category><category>7-zip</category><category>ADB</category><category>Bookworm</category><category>CJK</category><category>CentOS</category><category>Chromium</category><category>Django</category><category>Excel</category><category>LTS</category><category>Lazybuntu</category><category>MathJax</category><category>Overleaf</category><category>PDF</category><category>PlayonLinux</category><category>SQLite</category><category>SumatraPDF</category><category>SyncTeX</category><category>Tab S7+</category><category>Unifying</category><category>Windows</category><category>XBRL</category><category>exFAT</category><category>logitech</category><category>nVidia</category><category>tabularx</category><category>termux</category><category>嘸蝦米</category><category>填充題答案卷</category><category>平板</category><category>羅技</category><category>表格</category><title>cookeyLinux 享樂窩</title><description>記錄自己學習程式以及電腦相關知識的心得和筆記。</description><link>http://cookeylinux.bluesmile.net/</link><managingEditor>noreply@blogger.com (Unknown)</managingEditor><generator>Blogger</generator><openSearch:totalResults>67</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5216775538966060385.post-1213116583686940305</guid><pubDate>Sun, 08 Sep 2024 04:32:00 +0000</pubDate><atom:updated>2024-09-08T12:34:13.402+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Django</category><title>Django 4.2 之後棄用 PostgreSQL 的 CIText 類欄位的因應做法</title><description>&lt;h2&gt;參考文件&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://adamj.eu/tech/2023/02/23/migrate-django-postgresql-ci-fields-case-insensitive-collation/&quot;&gt;Adam Johnson - How to migrate from Django’s PostgreSQL CI Fields to use a case-insensitive collation&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://docs.djangoproject.com/en/4.2/ref/contrib/postgres/fields/#django.contrib.postgres.fields.CICharField&quot;&gt;Django Document: CICharField&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://docs.djangoproject.com/en/4.2/ref/contrib/postgres/operations/#managing-collations-using-migrations&quot;&gt;Django Document: Managing collations using migrations&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.postgresql.org/docs/current/collation.html&quot;&gt;PostgreSQL Support Collation&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://prerna7692.medium.com/what-is-collation-in-database-720dd92f6a57&quot;&gt;What is Collation in Database? 什麼是資料庫中的排序規則？&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;核心做法&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;在 migrations 的 operations 建立名為 case_insensitive 的 db_collation，參考文件中的 locale 是設定為 “und-u-ks-level2”，我改成 “zh-TW-u-ks-level2”，以後有問題再改回來。
&lt;pre class=&quot;codeblock prettyprint&quot;&gt;
from django.contrib.postgres.operations import CreateCollation

operations = [
        CreateCollation(
            &quot;case_insensitive&quot;,
            provider=&quot;icu&quot;,
            locale=&quot;zh-TW-u-ks-level2&quot;,
            deterministic=False,
        ),
        migrations.CreateModel(
		    name=&quot;MyUser&quot;,
		    fields=[
			     ...
			     (
                    &quot;email&quot;,
                    models.EmailField(
                        db_collation=&quot;case_insensitive&quot;,
                        max_length=254,
                        unique=True,
                        validators=[
                            django.core.validators.EmailValidator(
                                message=&quot;請輸入有效的E-mail信箱&quot;
                            )
                        ],
                        verbose_name=&quot;電子信箱&quot;,
                    ),
                ),
            ...
		    ]
        )
]
&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
在 models.py 中需要不分大小寫的欄位，指定 db_collation 為前面建立的 collation，db_collation=”case_insensitive”
&lt;pre class=&quot;codeblock prettyprint&quot;&gt;
class MyUser(AbstractUser):
		email = models.EmailField(
		        _(&quot;電子信箱&quot;),
		        db_collation=&quot;case_insensitive&quot;,
		        unique=True,
		        validators=[EmailValidator(message=&quot;請輸入有效的E-mail信箱&quot;)],
		    )
&lt;/pre&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;遇到的狀況或修正&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
我的系統在建立使用者後，會透過 signal 建立其他的 model，而建立其他 model 時又需要讀取資料庫中其他 model 的值。所以測試過程使用 setUp() method 先建立需要的 model 的值。
&lt;/li&gt;
&lt;li&gt;
依據第1篇參考文件的說明，我把 language tag 由 und 改成 zh-TW。
&lt;/li&gt;
&lt;/ul&gt;
</description><link>http://cookeylinux.bluesmile.net/2024/09/django-42-postgresql-citext.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5216775538966060385.post-7123285011716772836</guid><pubDate>Tue, 16 Jan 2024 17:02:00 +0000</pubDate><atom:updated>2026-03-15T00:28:50.697+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Bookworm</category><category domain="http://www.blogger.com/atom/ns#">Debian</category><category domain="http://www.blogger.com/atom/ns#">Linux</category><title>新安裝 Debian 12(Bookworm)之後的調整</title><description>&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;將常用帳號加入 sudo 群組&lt;/li&gt;&lt;ul&gt;&lt;li&gt;輸入「su -」以及 root 密碼後，提升權限。注意不能只輸入 su，不然會找不到 usermod&lt;br /&gt;&lt;/li&gt;&lt;li&gt;usermod -aG sudo your_user_name&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;修改語系&lt;/li&gt;&lt;ul&gt;&lt;li&gt;以 root 權限執行 dpkg-reconfigure locales&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;安裝 fcitx4&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&amp;nbsp;sudo apt install fcitx-table-boshiamy fcitx-rime fcitx-frontend-gtk2 fcitx-frontend-gtk3 fcitx-chewing&lt;/li&gt;&lt;li&gt;在「設定/應用程式/調校」中的「初始啟動應用程式」中加入 Fcitx，這樣登入後就會自動啟動 fcitx&lt;/li&gt;&lt;li&gt;在 $HOME/.xsessionrc 中加入以下設定：&lt;/li&gt;&lt;li&gt;&amp;nbsp;export LANG=zh_TW.utf8&lt;br /&gt;export LANGUAGE=zh_TW&lt;br /&gt;&lt;br /&gt;export GTK_IM_MODULE=fcitx&lt;br /&gt;export XMODIFIERS=@im=fcitx&lt;br /&gt;export QT_IM_MODULE=fcitx&lt;/li&gt;&lt;li&gt;參考資料：&lt;a href=&quot;https://www.rocksaying.tw/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;石頭閒語&lt;/a&gt;所寫的《&lt;a href=&quot;https://www.rocksaying.tw/archives/2019/Debian10_installation_note.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Debian 10 安裝筆記升級篇&lt;/a&gt;》&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;讓 Bash 的提示字串更好用&lt;/li&gt;&lt;ul&gt;&lt;li&gt;修改 ~/.bashrc 將原來是註解的 force_color_prompt=yes 那一行移除註解符號&lt;/li&gt;&lt;li&gt;&lt;pre class=&quot;codeblock prettyprint&quot;&gt;PS1=&#39;${debian_chroot:+($debian_chroot)}\[\033[1;32m\]\u@\033[00m\]\[\033[1;32m\]$(pwd)\033[0m\] \[\033[1;37m\]$(date +&quot;%Y-%m-%d %A %T&quot;)\033[0m\]\n\$&#39;&lt;/pre&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;從 Backports 更新 Kernel&lt;/li&gt;&lt;ul&gt;&lt;li&gt;新增 backports 來源：echo deb http://deb.debian.org/debian bookworm-backports main contrib non-free-firmware | sudo tee /etc/apt/sources.list.d/bookworm-backports.list&lt;/li&gt;&lt;li&gt;更新 sudo apt update&lt;/li&gt;&lt;li&gt;安裝新的 Linux 核心和 Firmware：sudo apt install -t bookworm-backports linux-image-amd64 firmware-linux&lt;/li&gt;&lt;li&gt;參考資料：&lt;a href=&quot;https://unix.stackexchange.com/questions/545601/how-to-upgrade-the-debian-10-kernel-from-backports-without-recompiling-it-from-s&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;How to upgrade the Debian 10 kernel from backports without recompiling it from scratch&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;安裝 onedrive 來同步 OneDrive 的資料&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://github.com/jstaf/onedriver&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;onedrive 官方網站&lt;/a&gt;&lt;/li&gt;&lt;li&gt;進入&amp;nbsp;&lt;a href=&quot;https://software.opensuse.org/download.html?project=home%3Ajstaf&amp;amp;package=onedriver&quot; rel=&quot;nofollow&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Noto Sans&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;; font-size: 16px; text-decoration-line: none;&quot; target=&quot;_blank&quot;&gt;OpenSUSE Build Service&lt;/a&gt;&amp;nbsp;頁面後選擇 Debian 並按照說明安裝&lt;/li&gt;&lt;li&gt;參考資料：&lt;a href=&quot;https://websetnet.net/zh-TW/mount-microsoft-onedrive-in-linux-with-onedriver-gui-tool/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;使用 OneDriver GUI 工具在 Linux 中掛載 Microsoft OneDrive&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;安裝 LINE&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;參考資料：&lt;a href=&quot;https://ivonblog.com/posts/linux-bottles-install-line/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;[2023年3月更新] 如何在Linux安裝電腦版Line&lt;/a&gt;、&lt;a href=&quot;https://www.ptt.cc/bbs/Linux/M.1659100722.A.0C9.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;[心得] Wine+Bottles 無痛安裝 Line&lt;/a&gt;、&lt;a href=&quot;https://www.ptt.cc/bbs/Linux/M.1683455518.A.788.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Re: [心得] Wine+Bottles 無痛安裝 Line&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;</description><link>http://cookeylinux.bluesmile.net/2024/01/debian-12bookworm.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5216775538966060385.post-459799196166766549</guid><pubDate>Thu, 02 Mar 2023 22:59:00 +0000</pubDate><atom:updated>2023-03-03T06:59:53.751+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Debian</category><category domain="http://www.blogger.com/atom/ns#">Linux</category><category domain="http://www.blogger.com/atom/ns#">logitech</category><category domain="http://www.blogger.com/atom/ns#">Unifying</category><category domain="http://www.blogger.com/atom/ns#">羅技</category><title>Linux  上用 Solaar 連接羅技的 Unifying 滑鼠或鍵盤</title><description>&lt;p&gt;在 Debian Linux 上可以使用&amp;nbsp;&lt;a href=&quot;https://pwr-solaar.github.io/Solaar/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Solaar&lt;/a&gt;&amp;nbsp;來管理羅技的 Unifying 滑鼠或鍵盤，可以透過「管理/軟體」搜尋 Solaar 並安裝，也可以透過指令：「sudo apt install solaar」來安裝。&lt;/p&gt;&lt;p&gt;啟動 Solaar 後按照畫面指示插拔接受器，並與滑鼠或鍵盤配對即可。&lt;/p&gt;&lt;p&gt;配對之後，滑鼠的選項中有個「Scroll Wheel HID++ Scrolling」不要勾，不然中間的滾輪會失效。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;</description><link>http://cookeylinux.bluesmile.net/2023/03/linux-solaar-unifying.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5216775538966060385.post-4365840007274500043</guid><pubDate>Mon, 05 Dec 2022 00:00:00 +0000</pubDate><atom:updated>2022-12-05T13:47:34.235+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ADB</category><category domain="http://www.blogger.com/atom/ns#">Tab S7+</category><category domain="http://www.blogger.com/atom/ns#">termux</category><category domain="http://www.blogger.com/atom/ns#">嘸蝦米</category><category domain="http://www.blogger.com/atom/ns#">平板</category><title>Samsung Tab S7+ DeX 模式透過 ADB 安裝嘸蝦米輸入法</title><description>&lt;h2 style=&quot;text-align: left;&quot;&gt;前言&lt;/h2&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;我慣用的是嘸蝦米輸入法，但是 &lt;a href=&quot;https://zh.m.wikipedia.org/zh-hant/%E4%B8%89%E6%98%9FGalaxy_Tab_S7&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Samsung Tab S7+&lt;/a&gt; 在 &lt;a href=&quot;https://www.samsung.com/tw/apps/samsung-dex/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;DeX&lt;/a&gt; 模式下只能用三星輸入法，也就是只有注音輸入法，使得原本想拿 Tab S7+ 當輕便筆電用，卻因為不順手的輸入法導致工作效率大減。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;就在查詢許多文章摸索著安裝完嘸蝦米並使用一段時間以後，一時不慎把 &lt;a href=&quot;https://termux.dev/en/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Termux&lt;/a&gt; 刪掉了，因此又回到了只能使用注音輸入法的狀態。想要重新來過卻一直遇到莫明的錯誤，在幾個月之間趁著工作空檔陸陸續續試了幾次未果，直到最近查到 Termux 的 Issues 中關於&lt;a href=&quot;https://github.com/termux/termux-packages/issues/7946#issuecomment-1020987091&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;無法與 ADB Server daemon 取得連結&lt;/a&gt;的討論，才如願重新安裝嘸蝦米了。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;從討論串中可以看到這是 Samsung 手機與平板特有的問題，其他品牌的手機並不會出現這個錯誤。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;操作步驟&lt;/h2&gt;&lt;div&gt;&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;b&gt;到 Google Play 安裝 &lt;a href=&quot;https://play.google.com/store/apps/details?id=com.hyperrate.gcinfree&amp;amp;hl=zh_TW&amp;amp;gl=US&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;GCIN 輸入法&lt;/a&gt;&lt;/b&gt;：它現在的名字是「TW 中文輸入法 注音/倉頡/大易/行列/語音/英數」，嘸蝦米所需要的 .gtab 檔請自行準備。&lt;/li&gt;&lt;li&gt;&lt;b&gt;啟用「開發人員選項」並打開「無線偵錯」&lt;/b&gt;：原本「開發人員選項」是隱藏起來的，&lt;a href=&quot;https://www.samsung.com/tw/support/mobile-devices/how-to-open-close-developer-options](https://www.samsung.com/tw/support/mobile-devices/how-to-open-close-developer-options&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;參考三星網站的教學&lt;/a&gt;，在「設定&amp;gt;關於手機&amp;gt;軟體資訊」連續點擊版本號碼，直至出現「開發者模式已啓用」 進入開發人員選項後，打開「無線偵錯(wireless debugging)」功能。&lt;/li&gt;&lt;li&gt;&lt;b&gt;在 Termux 中安裝 ADB&lt;/b&gt;：apt update &amp;amp;&amp;amp; apt install android-tools&lt;/li&gt;&lt;li&gt;&lt;b&gt;使用 ADB 透過無線偵錯與平板本身配對並連結&lt;/b&gt;&lt;/li&gt;&lt;ol&gt;&lt;li&gt;先連上 Wi-Fi，並開啟「設定」視窗和 Termux 視窗，讓它們各佔螢幕的一半，因為等等要邊看著「設定」視窗裡的資訊，邊在 Termux 中輸入指令。&lt;/li&gt;&lt;li&gt;點選「無線偵錯」中的「使用配對碼配對裝置」就會跳出配對所需的 IP、PORT 以及配對碼，其中 PORT 是隨機跳動的。&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhC5u0U_5qOIAquZ0YXSVV85tgnGkRdwzejKFyWzU-xGTwa52IXINyc-taYvnrCb_YlZcCgFvN0Q0A0JzzhHdo40nri7y-BxS5uUCJygeYOR_I76RtbwWEF-XpqkFPuzKFLAVMhapX7D4Jpm2-78aydp0tLD1dG3Eo0ERNQ3WYJSisk_hbFZl9sGDkfJw/s1385/Screenshot_20221205_011725.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;176&quot; data-original-width=&quot;1385&quot; height=&quot;41&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhC5u0U_5qOIAquZ0YXSVV85tgnGkRdwzejKFyWzU-xGTwa52IXINyc-taYvnrCb_YlZcCgFvN0Q0A0JzzhHdo40nri7y-BxS5uUCJygeYOR_I76RtbwWEF-XpqkFPuzKFLAVMhapX7D4Jpm2-78aydp0tLD1dG3Eo0ERNQ3WYJSisk_hbFZl9sGDkfJw/s320/Screenshot_20221205_011725.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9XjeffG_n78OqHBVwszjJRsBnyFMrcHkapFlVGERFhVZWb_cFB5bZgdiITvl72Jzgj-clOPVvp9U6VgNJB1o5hGr_fgP4dsr52qYKQRnYY8bxGE9JtjPw6iZZWMiUzZ9O5-P1tQOF0Bwhv7pShXYhosN827uVf7SHZ0MOFmbW7mkeJo_rbKTqsgyVzw/s926/Screenshot_20221205_012102.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;528&quot; data-original-width=&quot;926&quot; height=&quot;182&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9XjeffG_n78OqHBVwszjJRsBnyFMrcHkapFlVGERFhVZWb_cFB5bZgdiITvl72Jzgj-clOPVvp9U6VgNJB1o5hGr_fgP4dsr52qYKQRnYY8bxGE9JtjPw6iZZWMiUzZ9O5-P1tQOF0Bwhv7pShXYhosN827uVf7SHZ0MOFmbW7mkeJo_rbKTqsgyVzw/s320/Screenshot_20221205_012102.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;輸入指令&amp;nbsp; adb pair IP:PORT 後再輸入配對碼，用來配對平板。&lt;/li&gt;&lt;li&gt;輸入指令 adb connect IP:PORT，用來連結平板。&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzQ-TztJz2kDWgSyZW9emc8sBtOetVHpd_yQOsRJhU8YISiLg9RVVpfOnRqZ-GVV9mNjzmaZPoSwupMP3Q_zVCcEwqeRHu7c1igjFu1MagVu-pIeHq53wBlA4fkoQ1zs-K1R7-NANWT_Rr1yLyH0tI_0lf8ObPcrHzzQz_k15Unac6b2c_aNxcpV9JUw/s1390/Screenshot_20221205_012954.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;348&quot; data-original-width=&quot;1390&quot; height=&quot;80&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzQ-TztJz2kDWgSyZW9emc8sBtOetVHpd_yQOsRJhU8YISiLg9RVVpfOnRqZ-GVV9mNjzmaZPoSwupMP3Q_zVCcEwqeRHu7c1igjFu1MagVu-pIeHq53wBlA4fkoQ1zs-K1R7-NANWT_Rr1yLyH0tI_0lf8ObPcrHzzQz_k15Unac6b2c_aNxcpV9JUw/s320/Screenshot_20221205_012954.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;&lt;b&gt;修改預設輸入法為 GCIN&lt;/b&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;查詢現在的預設輸入法指令是「adb shell settings get secure default_input_method」&lt;/li&gt;&lt;li&gt;查詢所有已安裝的輸入法指令是「adb shell ime list」&lt;/li&gt;&lt;li&gt;更換輸入法的指令是「adb shell ime set &quot;輸入法名稱&quot;」&lt;/li&gt;&lt;li&gt;GCIN 輸入法的名稱是：「com.hyperrate.gcinfree/.Gcin」&lt;/li&gt;&lt;li&gt;三星輸入法的名稱是：「com.samsung.android.honeyboard/.service.HoneyBoardService」&lt;/li&gt;&lt;/ul&gt;&lt;/ol&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;錯誤排除&lt;/h2&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/h3&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;概述&lt;/h3&gt;&lt;blockquote style=&quot;border: none; margin: 0 0 0 40px; padding: 0px;&quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;這是專屬於 Samsung 手機或平板的錯誤，當發現以下錯誤訊息時，要改以 fakeroot 設定環境變數，以及執行上述各個 adb 指令。&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;錯誤訊息&lt;/h3&gt;&lt;blockquote&gt;&lt;div&gt;&lt;div&gt;* daemon not running; starting now at tcp:5037&lt;/div&gt;&lt;div&gt;* daemon started successfully&lt;/div&gt;&lt;div&gt;* daemon still not running&lt;/div&gt;&lt;div&gt;error: cannot connect to daemon at tcp:5037: Not a data message&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;解決方法&lt;/h3&gt;&lt;div&gt;&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li&gt;安裝 fakeroot：apt install fakeroot&lt;/li&gt;&lt;li&gt;設定環境變數：&lt;/li&gt;&lt;ul&gt;&lt;li&gt;export ADB_SERVER_SOCKET=localfilesystem:/data/data/com.termux/files/adb_socket&lt;/li&gt;&lt;li&gt;export ANDROID_NO_USE_FWMARK_CLIENT=1&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;執行 adb 指令：&lt;/li&gt;&lt;ul&gt;&lt;li&gt;fakeroot adb pair &amp;lt;your device wifi address:pairing port&amp;gt;&lt;/li&gt;&lt;li&gt;fakeroot adb connect &amp;lt;your device wifi address:wireless debug port&amp;gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ol&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;注意事項與改進想法&lt;/h2&gt;&lt;div&gt;&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li&gt;一旦離開再重新進入 DeX 模式就會還原成三星輸入法，因此需要重新配對、連結、更換輸入法。&lt;/li&gt;&lt;li&gt;可以把指令寫成 shell script，這樣就不用特別記輸入法的路徑名稱。&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;&amp;nbsp;參考資料&lt;/h2&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;a href=&quot;https://ivonblog.com/posts/how-to-use-termux/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Termux使用教學：在Android手機上執行Linux指令&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://ivonblog.com/posts/termux-wireless-adb/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;免電腦在手機上執行ADB指令，Termux + ADB Wifi無線偵錯&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.sizau.com/a/samsung-dex-input-1.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;技术 | 三星平板 Dex 模式更换输入法&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://blog.csdn.net/jingwen3699/article/details/85003355&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;adb shell 查看和修改输入法&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://github.com/termux/termux-packages/issues/7946#issuecomment-1020987091&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;[Bug]: android-tools (adb) cannot connect to daemon&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;</description><link>http://cookeylinux.bluesmile.net/2022/12/samsung-tab-s7-adb.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhC5u0U_5qOIAquZ0YXSVV85tgnGkRdwzejKFyWzU-xGTwa52IXINyc-taYvnrCb_YlZcCgFvN0Q0A0JzzhHdo40nri7y-BxS5uUCJygeYOR_I76RtbwWEF-XpqkFPuzKFLAVMhapX7D4Jpm2-78aydp0tLD1dG3Eo0ERNQ3WYJSisk_hbFZl9sGDkfJw/s72-c/Screenshot_20221205_011725.png" height="72" width="72"/><thr:total>0</thr:total><georss:featurename>台灣</georss:featurename><georss:point>23.69781 120.960515</georss:point><georss:box>-0.73318251667538092 85.804265 48.128802516675378 156.116765</georss:box></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5216775538966060385.post-2103870699704546645</guid><pubDate>Sun, 09 Jan 2022 15:06:00 +0000</pubDate><atom:updated>2022-01-09T23:06:10.974+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">VS Code</category><title>[VS Code] 美化(Prettify)整個資料夾中的程式碼</title><description>&lt;p&gt;&amp;nbsp;參考網址：&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;a href=&quot;https://stackoverflow.com/questions/43666270/how-do-i-format-all-files-in-a-visual-studio-code-project&quot;&gt;formatting - How do I format all files in a Visual Studio Code project? - Stack Overflow&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://marketplace.visualstudio.com/items?itemName=jbockle.jbockle-format-files&quot;&gt;Format Files - Visual Studio Marketplace&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;步驟：&lt;/div&gt;&lt;div&gt;&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li&gt;安裝喜歡的 prettier，常見的有：&lt;a href=&quot;https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode&quot; target=&quot;_blank&quot;&gt;Prettier - Code formatter&lt;/a&gt;，我安裝的是 &lt;a href=&quot;https://marketplace.visualstudio.com/items?itemName=remimarsal.prettier-now&quot; target=&quot;_blank&quot;&gt;Prettier Now&lt;/a&gt;&lt;/li&gt;&lt;li&gt;將預設的 formatter 設定為安裝的 Prettier，在 VS Code 的「設定」中搜尋「Editor: Default formatter」再從下拉選單中挑選想用的 prettier 就好。&lt;/li&gt;&lt;li&gt;安裝 VS Code 的 extension：&lt;a href=&quot;https://marketplace.visualstudio.com/items?itemName=jbockle.jbockle-format-files&quot; target=&quot;_blank&quot;&gt;Format Files&lt;/a&gt;&lt;/li&gt;&lt;li&gt;在 VS Code 中開啟欲美化程式碼的資料夾。&lt;/li&gt;&lt;li&gt;按快速鍵「Ctrl+Shift+P」並搜尋「&lt;span style=&quot;background-color: white; color: #232629; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Liberation Sans&amp;quot;, sans-serif; font-size: 15px;&quot;&gt;Start Format Files: Workspace&lt;/span&gt;」。&lt;/li&gt;&lt;li&gt;開始搜尋所有檔案，並且詢問是否真的要美化它們。&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;</description><link>http://cookeylinux.bluesmile.net/2022/01/vs-code-prettify.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5216775538966060385.post-2974568574767477436</guid><pubDate>Sun, 03 Oct 2021 10:41:00 +0000</pubDate><atom:updated>2021-10-03T18:42:21.240+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">VirtualBox</category><title>調整 VirtualBox VDI 檔的大小</title><description>&lt;p&gt;VM 的硬碟容量不夠用了，所以需要擴大 VDI 檔的大小。假設原來的大小是 10GB，要擴大成 20GB，先以管理員權限開啟一個命令列字元視窗，輸入以下指令調整：
&lt;pre class=&quot;codeblock prettyprint&quot;&gt;
&quot;C:\Program Files\Oracle\VirtualBox\VBoxManage.exe&quot; modifyhd &quot;X:\Need2Extended.vdi&quot; resize 20480
&lt;/pre&gt;
&lt;p&gt;參考網址：&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;a href=&quot;https://chenglearning.blogspot.com/2014/03/resizevdiharddisk.html&quot; target=&quot;_blank&quot;&gt;VirtualBox教學:重設硬碟(.vdi)大小(上)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://chenglearning.blogspot.com/2014/03/resizevdi.html&quot; target=&quot;_blank&quot;&gt;VirtualBox教學:重設硬碟(.vdi)大小(下)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;</description><link>http://cookeylinux.bluesmile.net/2021/10/virtualbox-vdi.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total><georss:featurename>台灣</georss:featurename><georss:point>23.69781 120.960515</georss:point><georss:box>-4.612423836178845 85.804265 52.008043836178842 156.116765</georss:box></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5216775538966060385.post-2381480732602948935</guid><pubDate>Sun, 03 Oct 2021 10:25:00 +0000</pubDate><atom:updated>2021-10-03T18:29:29.175+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Linux</category><title>修正 mdadm: No arrays found in config file or automatically 錯誤</title><description>&lt;h3 style=&quot;text-align: left;&quot;&gt;前言&lt;/h3&gt;&lt;p&gt;最近因為 &lt;a href=&quot;https://www.virtualbox.org/&quot; target=&quot;_blank&quot;&gt;VirtualBox&lt;/a&gt; 的 VM 硬碟空間不夠了，調整 VDI 檔容量之後，利用 &lt;a href=&quot;https://gparted.org/&quot; target=&quot;_blank&quot;&gt;GParted&lt;/a&gt; 將硬碟分區重新調整一下，原本的硬碟分區規畫為：&lt;/p&gt;
&lt;pre class=&quot;codeblock prettyprint&quot;&gt;/dev/sda1    /
/dev/sda5    swap
&lt;/pre&gt;其中的 swap 是在 logical partition 裡的，但是我後來調整為
&lt;pre class=&quot;codeblock prettyprint&quot;&gt;/dev/sda1	/
/dev/sda2	swap
&lt;/pre&gt;&lt;blockquote&gt;
也就是移除了 logical partition，新增一個 primary partition 做為 swap。也就是這個動作使得 swap 磁碟分區的 UUID 改變了，於是開機時出現了以下的錯誤訊息：
&lt;pre class=&quot;codeblock prettyprint&quot;&gt;mdadm: No arrays found in config file or automatically
&lt;/pre&gt;
同時 swap 也不見了(當然！)，因為在 /etc/fstab 中記載的 UUID 找不到了。&lt;p&gt;釐清了錯誤發生原因，解決問題的方法就簡單分成三個步驟：&lt;/p&gt;&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li&gt;找出現有 Partition 的 UUID&lt;/li&gt;&lt;li&gt;更新 /etc/fstab 中的 UUID&lt;/li&gt;&lt;li&gt;更新 initramfs 和 GRUB 的設定&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;列出各 Partition 的 UUID
&lt;pre class=&quot;codeblock prettyprint&quot;&gt;sudo blkid -o list
&lt;/pre&gt;
輸出的結果是如下很整齊的表格形式&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-gCMbEb7QKA4_Py6NsyIRyxtm5MvVrUYm_6Y9haAOtzJRXrW_9U6Y7PkbbLZuodLNP7a5Xaw2iiqyj9yox7ecYD7pYd4QB3rTGujcf-UmF9ZNzAi3mmrqgyEEVnxYJ8FqcMHWHSe_WRg2/&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;95&quot; data-original-width=&quot;639&quot; height=&quot;60&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-gCMbEb7QKA4_Py6NsyIRyxtm5MvVrUYm_6Y9haAOtzJRXrW_9U6Y7PkbbLZuodLNP7a5Xaw2iiqyj9yox7ecYD7pYd4QB3rTGujcf-UmF9ZNzAi3mmrqgyEEVnxYJ8FqcMHWHSe_WRg2/w400-h60/image.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;&lt;b&gt;更新 /etc/fstab 中的 UUID&lt;/b&gt;&lt;/h3&gt;&lt;div&gt;將原本 /etc/fstab 中的 SWAP 磁區 UUID 改成正確的。&lt;/div&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;&lt;p&gt;&lt;/p&gt;&lt;b&gt;更新 initramfs 和 GRUB 的設定&lt;/b&gt;
&lt;pre class=&quot;codeblock prettyprint&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;update-initramfs -u
update-grub&lt;/span&gt;
&lt;/pre&gt;
完成之後重開機，在開機過程中就沒看到錯誤訊息，swap 也有 mount 上了。&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/h3&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;&lt;b&gt;參考網址：&lt;/b&gt;&lt;/h3&gt;&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;a href=&quot;https://serverfault.com/questions/3132/how-do-i-find-the-uuid-of-a-filesystem&quot; target=&quot;_blank&quot;&gt;How do I find the UUID of a filesystem&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://lists.debian.org/debian-user/2015/07/msg00845.html&quot; target=&quot;_blank&quot;&gt;Re: mdadm: No arrays found in config file or automatically&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;</description><link>http://cookeylinux.bluesmile.net/2021/10/blog-post.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-gCMbEb7QKA4_Py6NsyIRyxtm5MvVrUYm_6Y9haAOtzJRXrW_9U6Y7PkbbLZuodLNP7a5Xaw2iiqyj9yox7ecYD7pYd4QB3rTGujcf-UmF9ZNzAi3mmrqgyEEVnxYJ8FqcMHWHSe_WRg2/s72-w400-h60-c/image.png" height="72" width="72"/><thr:total>0</thr:total><georss:featurename>台灣</georss:featurename><georss:point>23.69781 120.960515</georss:point><georss:box>23.444293704969461 120.685856796875 23.95132629503054 121.235173203125</georss:box></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5216775538966060385.post-8451691619069749073</guid><pubDate>Sat, 13 Mar 2021 10:17:00 +0000</pubDate><atom:updated>2021-03-13T18:17:37.549+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Linux</category><title>將 XFCE 改造成 Mac 外觀 </title><description>&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://i.redd.it/2e8ey6ivwel61.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;450&quot; data-original-width=&quot;800&quot; height=&quot;360&quot; src=&quot;https://i.redd.it/2e8ey6ivwel61.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp;&lt;p&gt;&lt;/p&gt;&lt;p&gt;在 Reddit 的 &lt;a href=&quot;https://www.reddit.com/r/linuxmint/comments/lz1w75/mint_xfce_big_sur/&quot; target=&quot;_blank&quot;&gt;Linux Mint&lt;/a&gt; 板看到一張 screenshot，覺得介面很乾淨，作者說是參考影片 &lt;a href=&quot;https://www.youtube.com/watch?v=oQ8RWtD3MTQ&quot; target=&quot;_blank&quot;&gt;Customize Your Xfce Desktop Look Like MacOS Big Sur&lt;/a&gt; 做出來的，但是有改了些許步驟。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe allowfullscreen=&quot;&quot; class=&quot;BLOG_video_class&quot; height=&quot;266&quot; src=&quot;https://www.youtube.com/embed/oQ8RWtD3MTQ&quot; width=&quot;320&quot; youtube-src-id=&quot;oQ8RWtD3MTQ&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&amp;nbsp;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description><link>http://cookeylinux.bluesmile.net/2021/03/xfce-mac.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/oQ8RWtD3MTQ/default.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5216775538966060385.post-2360910643754100805</guid><pubDate>Sat, 13 Mar 2021 10:01:00 +0000</pubDate><atom:updated>2021-03-13T18:01:01.235+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Linux</category><category domain="http://www.blogger.com/atom/ns#">Manjaro</category><title>Manjaro Linux 更新 GRUB 後無法抓到 Windows</title><description>&lt;p&gt;最近 &lt;a href=&quot;https://zh.wikipedia.org/wiki/GNU_GRUB&quot; target=&quot;_blank&quot;&gt;GRUB2&lt;/a&gt; 因為&lt;a href=&quot;https://www.ithome.com.tw/news/143054&quot; target=&quot;_blank&quot;&gt;安全性的關係&lt;/a&gt;需要更新到最新的版本，但更新之後原本的多重開機選單就會失效，抓不到原本安裝的 Windows 了，搜尋了一下原來並不是只有我這樣，而 Manjaro Linux 的公告&lt;a href=&quot;https://forum.manjaro.org/t/stable-update-2021-03-08-kernels-plasma-5-21-2-haskell-kodi-grub-kde-dev/56877&quot; target=&quot;_blank&quot;&gt;[Stable Update] 2021-03-08- Kernels, Plasma 5.21.2, Haskell, Kodi, Grub, KDE-Dev&lt;/a&gt;裡就有寫怎麼解決這個問題了。&lt;/p&gt;&lt;blockquote&gt;&lt;ul&gt;&lt;li&gt;
&lt;b&gt;Grub&lt;/b&gt; got some needed &lt;a href=&quot;https://wiki.ubuntu.com/SecurityTeam/KnowledgeBase/GRUB2SecureBootBypass2021&quot;&gt;security updates &lt;span class=&quot;badge badge-notification clicks&quot; title=&quot;65 點擊&quot;&gt;65&lt;/span&gt;&lt;/a&gt;. Note that &lt;b&gt;os-prober&lt;/b&gt; is &lt;i&gt;&lt;b&gt;now disabled by default&lt;/b&gt;&lt;/i&gt; for security reasons: &lt;a href=&quot;https://git.savannah.gnu.org/cgit/grub.git/commit/?id=e346414725a70e5c74ee87ca14e580c66f517666&quot;&gt;broken patch &lt;span class=&quot;badge badge-notification clicks&quot; title=&quot;40 點擊&quot;&gt;40&lt;/span&gt;&lt;/a&gt;; &lt;a href=&quot;https://lists.gnu.org/archive/html/grub-devel/2021-03/msg00193.html&quot;&gt;fixed patch &lt;span class=&quot;badge badge-notification clicks&quot; title=&quot;61 點擊&quot;&gt;61&lt;/span&gt;&lt;/a&gt;. More infos about it &lt;a href=&quot;https://forum.manjaro.org/t/grub-disable-os-prober-flag-appears-to-be-ignored-in-etc-default-grub/56382&quot;&gt;here &lt;span class=&quot;badge badge-notification clicks&quot; title=&quot;176 點擊&quot;&gt;176&lt;/span&gt;&lt;/a&gt;. To restore the old behavior, open a terminal and issue &lt;code&gt;sudo echo GRUB_DISABLE_OS_PROBER=false &amp;gt;&amp;gt; /etc/default/grub &amp;amp;&amp;amp; sudo update-grub&lt;/code&gt;
&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;&lt;p&gt;如想恢復開機選單，要在 /etc/default/grub 裡加入一行&lt;/p&gt;&lt;pre class=&quot;codeblock prettyprint&quot;&gt; GRUB_DISABLE_OS_PROBER=false &lt;/pre&gt;之後執行&lt;pre class=&quot;codeblock prettyprint&quot;&gt; sudo update-grub &lt;/pre&gt;後就好了。&lt;br /&gt;&lt;p&gt;&lt;/p&gt;</description><link>http://cookeylinux.bluesmile.net/2021/03/manjaro-linux-grub-windows.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5216775538966060385.post-6025813247187725256</guid><pubDate>Fri, 05 Mar 2021 19:38:00 +0000</pubDate><atom:updated>2021-03-06T03:38:24.369+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">VS Code</category><title>好看的 VS Code icon</title><description>最近在看 &lt;a href=&quot;https://learn.justdjango.com/&quot; target=&quot;_blank&quot;&gt;JustDjango&lt;/a&gt; 的《&lt;a href=&quot;https://www.youtube.com/watch?v=fOukA4Qh9QA&quot; target=&quot;_blank&quot;&gt;Getting Started With Django Tutorial // Build a CRM&lt;/a&gt;》，覺得他用的 VS Code icon 很好看，所以也安裝來使用。&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;他用的是 &lt;a href=&quot;Material Icon Theme&quot; target=&quot;_blank&quot;&gt;Material Icon Theme&lt;/a&gt;，這邊做個紀錄才不用一直去翻影片。&lt;/div&gt;</description><link>http://cookeylinux.bluesmile.net/2021/03/vs-code-icon.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5216775538966060385.post-8811405819526323237</guid><pubDate>Tue, 23 Feb 2021 14:25:00 +0000</pubDate><atom:updated>2021-02-23T22:25:52.990+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Debian</category><category domain="http://www.blogger.com/atom/ns#">Linux</category><title>Debian buster 使用 backports 的 Linux kernel</title><description>&lt;p&gt;&amp;nbsp;紀錄一下如何安裝 backports 的新版 Linux Kernel，stable 的 Kernel 比較舊，有時候不支援新一點的硬體，就要換成新版的 Kernel 才可能支援。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li&gt;新增 backports 到 source.list，並更新資料庫&lt;/li&gt;&lt;pre class=&quot;codeblock prettyprint&quot;&gt; echo deb http://deb.debian.org/debian buster-backports main contrib non-free | sudo tee /etc/apt/sources.list.d/buster-backports.list
 sudo apt update &lt;/pre&gt;&lt;li&gt;安裝 Linux Kernel 及韌體&lt;/li&gt;&lt;pre class=&quot;codeblock prettyprint&quot;&gt; sudo apt install -t buster-backports linux-image-amd64 firmware-linux firmware-linux-nonfree&lt;/pre&gt;&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;參考網址：&lt;a href=&quot;https://unix.stackexchange.com/questions/545601/how-to-upgrade-the-debian-10-kernel-from-backports-without-recompiling-it-from-s&quot;&gt;How to upgrade the Debian 10 kernel from backports without recompiling it from scratch&lt;/a&gt;&lt;/p&gt;</description><link>http://cookeylinux.bluesmile.net/2021/02/debian-buster-backports-linux-kernel.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5216775538966060385.post-3354937327152774936</guid><pubDate>Tue, 09 Feb 2021 14:35:00 +0000</pubDate><atom:updated>2021-02-09T22:36:45.579+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">VS Code</category><title>改變 Visual Studio Code 程式碼顏色配置</title><description>&lt;p&gt;一直都想為 Visual Studio Code 換個程式碼色彩提示佈景，但在選單中又找不到怎麼改，現在才發奮要查出來怎麼換，同時也找到了一個喜歡的色彩佈景。&lt;/p&gt;&lt;p&gt;從&amp;nbsp; [檔案] 選單中的 [喜好設定] 選擇 [色彩佈景主題]，快速鍵是「Ctrl+K, Ctrl+T」，就會看到幾個內建的色彩佈景主題，如果這裡面沒有喜歡的，也能再到延伸模組裡找。&lt;/p&gt;&lt;p&gt;幸運地找到一款叫做「&lt;a href=&quot;https://marketplace.visualstudio.com/items?itemName=vangware.dark-plus-material&quot; target=&quot;_blank&quot;&gt;Dark+ Material&lt;/a&gt;」的色彩佈景主題，某些關鍵字會比較亮，讓我更加專注避免錯誤。&lt;br /&gt;&lt;/p&gt;</description><link>http://cookeylinux.bluesmile.net/2021/02/visual-studio-code.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5216775538966060385.post-5599156033632055743</guid><pubDate>Tue, 02 Jun 2020 06:34:00 +0000</pubDate><atom:updated>2020-06-02T14:38:15.823+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Fedora</category><category domain="http://www.blogger.com/atom/ns#">Linux</category><category domain="http://www.blogger.com/atom/ns#">No-IP</category><title>Fedora Linux 上使用 ddclient 更新動態 DNS</title><description>我想在 Linux 上使用 &lt;a href=&quot;https://www.noip.com/&quot;&gt;no-ip&lt;/a&gt; 的動態 DNS 服務，但我一直無法使用官方的 &lt;a href=&quot;https://www.noip.com/support/knowledgebase/installing-the-linux-dynamic-update-client/&quot;&gt;DUC&lt;/a&gt;，之後發現 &lt;a href=&quot;https://fedora.pkgs.org/30/fedora-x86_64/ddclient-3.9.0-2.fc30.noarch.rpm.html&quot;&gt;ddclient&lt;/a&gt; 這支軟體可以更新許多免費動態 DNS 的服務，於是試著用 &lt;a href=&quot;https://fedora.pkgs.org/30/fedora-x86_64/ddclient-3.9.0-2.fc30.noarch.rpm.html&quot;&gt;ddclient&lt;/a&gt; 來更新 no-ip。&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;
安裝 ddclient&lt;/h4&gt;
&lt;pre class=&quot;codeblock prettyprint&quot;&gt;sudo dnf install ddclient
&lt;/pre&gt;
&lt;br /&gt;
&lt;h4&gt;
修改 /etc/ddclient.conf&lt;/h4&gt;
ddclient.conf 裡已經準備好許多動態 DNS 服務所需的設定，但沒有給 no-ip 用的，所以請自行加入以下這段&lt;br /&gt;
&lt;pre class=&quot;codeblock prettyprint&quot;&gt;## No-IP
protocol=noip
use=web, web=checkip.dyndns.com/
server=dynupdate.no-ip.com
login=no-ip 的帳號
password=&#39;no-ip 的密碼&#39; 
no-ip.domain   # 在 no-ip 申請的域名
&lt;/pre&gt;
&lt;br /&gt;
&lt;h4&gt;
執行 ddclient&lt;/h4&gt;
&lt;pre class=&quot;codeblock prettyprint&quot;&gt;sudo ddclient
&lt;/pre&gt;
&lt;br /&gt;
可以登入 &lt;a href=&quot;https://www.noip.com/&quot;&gt;no-ip&lt;/a&gt; 的網站，去看看所設定的域名 IP 有沒有更新，可能不會馬上更新要等一下。&lt;br /&gt;
&lt;br /&gt;
參考網頁：&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://jimwayne.blogspot.com/2013/02/ddclient-no-ip.html&quot;&gt;使用 ddclient 更新 No-IP&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
</description><link>http://cookeylinux.bluesmile.net/2020/06/fedora-linux-ddclient-dns.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5216775538966060385.post-2968795423256885746</guid><pubDate>Tue, 02 Jun 2020 06:17:00 +0000</pubDate><atom:updated>2020-06-02T14:17:41.274+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Fedora</category><category domain="http://www.blogger.com/atom/ns#">Linux</category><category domain="http://www.blogger.com/atom/ns#">No-IP</category><title>Linux 上移除 No-IP 的 Dynamic DNS Update Client</title><description>&lt;a href=&quot;https://www.noip.com/&quot;&gt;no-ip&lt;/a&gt; 是個提供動態 DNS 服務的網站，在 Windows 環境下可以安裝它的&amp;nbsp;&lt;a href=&quot;https://www.noip.com/download?page=win&quot;&gt;Dynamic DNS Update Client(DUC) for Windows&lt;/a&gt; 來更新域名對應的 IP。no-ip 也有提供 Linux 下的&amp;nbsp;&lt;a href=&quot;https://www.noip.com/download?page=linux&quot;&gt;Dynamic DNS Update Client&lt;/a&gt;，目前是 2.1.9 ，也有安裝及使用的&lt;a href=&quot;https://www.noip.com/support/knowledgebase/installing-the-linux-dynamic-update-client/&quot;&gt;教學&lt;/a&gt;。&lt;br /&gt;
&lt;br /&gt;
照著官方的教學安裝時，遇到「make: not founded」的訊息，在 Fedora Linux 下使用以下的指令就能安裝 make&lt;br /&gt;
&lt;pre class=&quot;codeblock prettyprint&quot;&gt;sudo dnf group install &quot;Development Tools&quot;
&lt;/pre&gt;
之後照著官方教學即可。&lt;br /&gt;
&lt;br /&gt;
問題來了，官方的 DUC 不能使用，所以我想將它移除，找了一下終於知道要怎麼移除了，先在 no-ip.2.1.9-1/Makefile 最後面加上以下這段&lt;br /&gt;
&lt;pre class=&quot;codeblock prettyprint&quot;&gt;uninstall: ${TGT}
        rm ${BINDIR}/${TGT}
        rm ${CONFDIR}/no-ip2.conf
&lt;/pre&gt;
要注意 rm 前的空白是 Tab 造成的不是空格，如果使用空格會有錯誤。&lt;br /&gt;
&lt;br /&gt;
之後 cd/usr/local/src/no-ip.2.1.9-1/ 執行&lt;br /&gt;
&lt;pre class=&quot;codeblock prettyprint&quot;&gt;sudo make uninstall
sudo remove
&lt;/pre&gt;
就能移除 DUC 了。&lt;br /&gt;
&lt;br /&gt;
參考網頁：&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://www.noip.com/support/knowledgebase/installing-the-linux-dynamic-update-client/&quot;&gt;How to Install the Dynamic Update Client on Linux&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.raspberrypi.org/forums/viewtopic.php?t=160038&quot;&gt; How to uninstall noip-duc&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
</description><link>http://cookeylinux.bluesmile.net/2020/06/linux-no-ip-dynamic-dns-update-client.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5216775538966060385.post-3190940856050007154</guid><pubDate>Tue, 02 Jun 2020 02:15:00 +0000</pubDate><atom:updated>2020-06-02T10:17:37.766+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Hyper-V</category><category domain="http://www.blogger.com/atom/ns#">Linux</category><title>Linux 自動網路校時</title><description>在 Hyper-V 虛擬機器上設定了 crontab 卻不會執行，後來發現不是 cron 的問題，而是虛擬機器的時鐘變慢了，導致 cron 不會按時執行。我的解決方法是利用網路校時，並且排進 crontab 每 30 分鐘就校時一次。&lt;br /&gt;
&lt;br /&gt;
網路校時的指令是&lt;br /&gt;
&lt;pre class=&quot;codeblock prettyprint&quot;&gt;sudo ntpdate time.stdtime.gov.tw
&lt;/pre&gt;
選用的 NTP 伺服器是 time.stdtime.gov.tw。接著將正確時間寫入硬體時鐘&lt;br /&gt;
&lt;pre class=&quot;codeblock prettyprint&quot;&gt;sudo hwclock -w
&lt;/pre&gt;
&lt;br /&gt;
利用 crontab 定期校時&lt;br /&gt;
&lt;pre class=&quot;codeblock prettyprint&quot;&gt;*/30 * * * * root (/usr/sbin/ntpdate time.stdtime.gov.tw &amp;amp;&amp;amp; /sbin/hwclock -w) &amp;amp;&amp;gt; /dev/null
&lt;/pre&gt;
&lt;br /&gt;
原先我是設定每 6 小時校時一次，沒想到過了一晚再看虛擬機器裡的時鐘竟然慢了 12 小時，只好改成每 30 分鐘就校時一次，希望能有所改善。&lt;br /&gt;
&lt;br /&gt;
在查資料的時候，才發現原來 Hyper-V 本身就有讓 VM 與 Host 對時的服務，但我不知道為什麼我的電腦上沒有作用。可能是因為語系的關係，查詢有開啟「時間同步化」服務的 VM 的 powershell script 要改成如下：&lt;br /&gt;
&lt;pre class=&quot;codeblock prettyprint&quot;&gt;Get-VMIntegrationService -VMName * | Where {$_.Name -eq &#39;時間同步化&#39;} | Select-Object VMName, Name, Enabled
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
參考網址：
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.gtwang.org/linux/linux-crontab-cron-job-tutorial-and-examples/&quot;&gt;Linux 設定 crontab 例行性工作排程教學與範例&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.gtwang.org/linux/linux-ntp-installation-and-configuration-tutorial/&quot;&gt;Linux 設定 NTP 同步系統時間，自動網路校時教學&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://redmondmag.com/articles/2018/11/26/fix-hyperv-clock-skew-issues.aspx&quot;&gt;How To Fix Hyper-V Clock Skew Issues&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
</description><link>http://cookeylinux.bluesmile.net/2020/06/linux.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5216775538966060385.post-8544341245658758432</guid><pubDate>Fri, 29 May 2020 03:49:00 +0000</pubDate><atom:updated>2020-05-29T11:59:19.234+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Linux</category><category domain="http://www.blogger.com/atom/ns#">Python</category><category domain="http://www.blogger.com/atom/ns#">SQLite</category><title>Linux 掛載 Windows 的網路芳鄰</title><description>Linux 要使用 Windows 分享出來的網路芳鄰的時候，需要將該共用的資料夾掛載到 Linux 上，利用
&lt;pre class=&quot;codeblock prettyprint&quot;&gt; 
sudo mount -t cifs //xxx.xxx.xxx.xxx/share_folder /Linux/mount_point -o username=USER_NAME,password=PASSWORD
&lt;/pre&gt;
可以直接將 Windows 的共用資料夾掛載起來。也可以寫在 /etc/fstab 裡，一開機就自動掛載，但如果 Windows 當機或故障了，在 Linux 才可能產生連帶問題，可以透過 autofs 套件可以在用到網路芳鄰的時候，自動掛載資源到指定的資料夾，比直接寫在 /etc/fstab 裡還好。&lt;br /&gt;
&lt;br /&gt;
我的 Host OS 是 WINDOWS，利用 Hyper-V 建立以 Fedora Linux 32 為 Guest OS 的虛擬機器，如果使用其他 Distro. 只有在安裝套件時會稍稍不同，設定檔的寫法則是一樣的。&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;安裝 autofs 和 cifs.utils套件&lt;/li&gt;
&lt;pre class=&quot;codeblock prettyprint&quot;&gt;sudo dnf install autofs cifs.utils
&lt;/pre&gt;
&lt;li&gt;建立認證用的帳號密碼文件，我放在 /home/User_Name/.secret.txt，中間不能有空白&lt;/li&gt;
&lt;pre class=&quot;codeblock prettyprint&quot;&gt;# /home/User_Name/.secret.txt
username=USER_NAME_in_WINDOWS
password=PASSWORD_of_USER
&lt;/pre&gt;
將 .secret.txt 的權限改成 600(rw-------)&lt;br /&gt;
&lt;pre class=&quot;codeblock prettyprint&quot;&gt;chmod 600 /home/User_Name/.secret.txt
&lt;/pre&gt;
&lt;li&gt;先在 /etc/auto.master 新增一筆紀錄如下，表示要將設定檔 /etc/auto.myneighborhood (待建立)中設定的網路芳鄰資源掛載到 /mount_point，而 /mount_point 必須已存在。&lt;/li&gt;
&lt;pre class=&quot;codeblock prettyprint&quot;&gt;# /etc/auto.master
/mount_point&amp;nbsp; &amp;nbsp; /etc/auto.myneighborhood
&lt;/pre&gt;
&lt;li&gt;接著新增 /etc/auto.myneighborhood&lt;/li&gt;
&lt;pre class=&quot;codeblock prettyprint&quot;&gt;# /etc/auto.myneighborhood
folder_name -fstype=cifs,rw,noperm,credentials=/home/User_Name/.secret.txt,uid=User_Name,gid=User_Group,nobrl&amp;nbsp; &amp;nbsp; ://xxx.xxx.xxx.xxx/share_folder
&lt;/pre&gt;
credentials 後面接認證用的帳號密碼文件，避免直接將帳號、密碼寫在設定檔裡；nobrl 選項可以避免 SQLite 資料庫被鎖起來。
&lt;li&gt;重新啟動 autofs 服務&lt;/li&gt;
&lt;pre class=&quot;codeblock prettyprint&quot;&gt;sudo systemctl stop autofs.service
sudo systemctl start autofs.service
&lt;/pre&gt;
&lt;li&gt;「使用」 /home/User_Name/mount_point/folder_name，例如進入 folder_name。&lt;/li&gt;
&lt;pre class=&quot;codeblock prettyprint&quot;&gt;cd /home/User_Name/mount_point/folder_name
&lt;/pre&gt;
當「使用」到 folder_name 時 autofs 才會自動掛載，剛開始不知道，想說為什麼 start autofs.service 以後，ls -l /home/User_Name/mount_point 看不到內容，後來才知道要真的進到該目錄才會真正掛載。
&lt;li&gt;參考資料：&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://wiki.centos.org/TipsAndTricks/WindowsShares&quot;&gt;How to mount remote Windows shares&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.ichiayi.com/wiki/tech/samba_client&quot;&gt;Samba Client CentOS 使用 Windows 網芳磁碟設定&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.gtwang.org/linux/linux-basic-systemctl-systemd-service-unit-tutorial-examples/&quot;&gt;Linux systemd 系統服務管理基礎教學與範例&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://allenshaing.wordpress.com/2017/12/23/sqlite%E5%B0%87sqlite%E6%94%BE%E5%9C%A8windows-share%E4%B8%8A%E8%B7%A8%E5%B9%B3%E5%8F%B0%E4%BD%BF%E7%94%A8/&quot;&gt;將sqlite放在windows-share上跨平台使用&lt;/a&gt;&amp;nbsp;(提到的 nobrl 參數解決了 SQLite 資料庫被鎖的問題)&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt;
</description><link>http://cookeylinux.bluesmile.net/2020/05/linux-windows_29.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5216775538966060385.post-3850431555307351881</guid><pubDate>Sun, 26 Apr 2020 19:28:00 +0000</pubDate><atom:updated>2020-04-27T03:28:47.383+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">XBRL</category><title>從 XBRL 建立屬於自己的財報資料庫</title><description>若是要了解一家公司的財務狀況，一定要閱讀財務報表，傳統 PDF 格式的財務報表不利於電腦整理、比較公司的各種財務數據，而 XBRL（eXtensible Business Reporting Language，可延伸商業報導語言）是以 XML 為基礎做為一種財務報表的表達方式，有益於分析公司的財務報表。&lt;br /&gt;
&lt;br /&gt;
在閱讀財務報表相關書籍時，我就在想怎麼從上千家的公司裡篩選出具優益財務的公司，顯然要透過資料庫整理好各項數據，才能藉由電腦快速篩選。像是&lt;a href=&quot;https://statementdog.com/&quot;&gt;財報狗&lt;/a&gt;、&lt;a href=&quot;https://goodinfo.tw/StockInfo/index.asp&quot;&gt;Goodinfo!台灣股市資訊網&lt;/a&gt;、&lt;a href=&quot;https://pro.uanalyze.com.tw/e-com/product-view/collection&quot;&gt;優分析&lt;/a&gt;等網站都能篩選出符合某些財務指標的公司，缺點就是有時想用的指標是沒有提供的，如果能自己寫想要的指標，就能更自由的尋找潛力股。&lt;br /&gt;
&lt;br /&gt;
從&lt;a href=&quot;https://mops.twse.com.tw/mops/web/index&quot;&gt;公開資訊觀測站&lt;/a&gt;就能下載以 XBRL 格式製作的財務報表，但網路上關於利用 XBRL 製作財務資料庫的資訊卻很少，所以我打算慢慢找資料，慢慢建立自己的資料庫。&lt;br /&gt;
&lt;br /&gt;
以下是我目前找到相關的網站，其中幫助最大的是周國華老師的XBRL網站和貓囧丸，周國華老師對於XBRL的介紹很詳細，對於我建立 XBRL 概念很有用，而貓囧丸則是在程式設計上讓我受益不少，尤其是他寫在程式碼中的註解，不止讓我更了解程式也更了解 XBRL。&lt;br /&gt;
&lt;br /&gt;
公開資訊觀測站也將每一季的財務報表打包成一個檔，而從 2019 年第 1 季開始加進了 iXBRL 格式，使得線上閱讀財務報表更方便，以&lt;a href=&quot;https://mops.twse.com.tw/server-java/t164sb01?step=1&amp;amp;CO_ID=2330&amp;amp;SYEAR=2018&amp;amp;SSEASON=4&amp;amp;REPORT_ID=C&quot;&gt;台積電2018年第4季合併財務報表&lt;/a&gt;和&lt;a href=&quot;https://mops.twse.com.tw/server-java/t164sb01?step=1&amp;amp;CO_ID=2330&amp;amp;SYEAR=2019&amp;amp;SSEASON=4&amp;amp;REPORT_ID=C&quot;&gt;台積電2019年第1季合併財務報告&lt;/a&gt;為例就可以看出差別。&lt;br /&gt;
&lt;br /&gt;
之後再慢慢將 XBRL 的筆記寫下來，也訓練我對於 Python 語言的使用，尤其在爬取股價資訊、券商進出明細方面，搭配起來也許更有助於投資。&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;參考網站&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.ais.nptu.edu.tw/xbrl/&quot;&gt;國立屏東大學會計學系周國華老師XBRL教學網站&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://kdh74616.blogspot.com/search/label/%5BXBRL%5D&quot;&gt;貓囧丸 ct9w&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://angelonotes.blogspot.com/search/label/XBRL&quot;&gt;開源筆記倉庫區&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/hermeseagel/XRBL_parser&quot;&gt;XRBL_parser&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;了解 XBRL&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.w3school.com.cn/xml/index.asp&quot;&gt;W3School XML課程&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://webpro.twse.com.tw/webportal/vod/104/&quot;&gt;臺灣證券交易所XBRL系列課程內容(宣導說明/XBRL)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mops.twse.com.tw/mops/web/t147sb01&quot;&gt;公開資訊觀測站XBRL資訊平台&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://siitest.twse.com.tw/nas/taxonomy/taxonomy.html&quot;&gt;公開資訊觀測站XBRL財報建檔工具暨分類標準下載&lt;/a&gt;&amp;nbsp; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.ais.nptu.edu.tw/xbrl/primer/XBRLintro_20161226.pdf&quot;&gt;周國華老師XBRL技術架構簡介&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.ais.nptu.edu.tw/tigf/201803/XBRL%202.1%20primer_tigf_20180327.pdf&quot;&gt;周國華老師XBRL 2.1 技術規格解析&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.twse.com.tw/staticFiles/listed/manual/XBRL_42.pdf&quot;&gt;XBRL 的新面貌  - Inline XBRL(iXBRL)&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;下載臺股 XBRL 財務報表的地方&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://mops.twse.com.tw/mops/web/t203sb02&quot;&gt;公開資訊觀測站財報整批下載&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mops.twse.com.tw/mops/web/t147sb04_q1&quot;&gt;公開資訊觀測站財務報表分析及比較&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;/ol&gt;
</description><link>http://cookeylinux.bluesmile.net/2020/04/xbrl.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>3</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5216775538966060385.post-3800472702171220831</guid><pubDate>Tue, 07 Apr 2020 07:19:00 +0000</pubDate><atom:updated>2020-04-07T15:19:07.241+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">CentOS</category><category domain="http://www.blogger.com/atom/ns#">Hyper-V</category><category domain="http://www.blogger.com/atom/ns#">Linux</category><title>Hyper-V 搬移硬碟</title><description>使用 &lt;a href=&quot;https://docs.microsoft.com/zh-tw/virtualization/hyper-v-on-windows/about/&quot;&gt;Hyper-V&lt;/a&gt; 建立虛擬機器後，如果想要複製機器可以使用&lt;a href=&quot;https://ithelp.ithome.com.tw/articles/10130374&quot;&gt;匯出／匯入&lt;/a&gt;的方式，匯出／匯入亦可透過 &lt;a href=&quot;https://docs.microsoft.com/zh-tw/windows-server/virtualization/hyper-v/deploy/export-and-import-virtual-machines&quot;&gt;Power Shell 操作&lt;/a&gt;，或者想先建立一個 Base machine，之後利用 Base machine 快速建立其他機器時，亦可利用匯出／匯入的功能。&lt;br /&gt;
&lt;br /&gt;
匯入的類型選擇第三種｢複製虛擬機器(建立新的唯一識別碼)」，存放虛擬機器的資料夾必須和原來的不同。匯出時會連同檢查點一起匯出，不是單純的把虛擬硬碟匯出。&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlTUzEeoJi5pzbXcZHufRMYsH3VZiieapxH_HefPwxdncv4BCPIY91IHx5dp7eLmlNGezQ3sLZR9ITT6zd_baYj0wqBRXB9dTrDIUemIZZGUvkFZAngrUem43AtrY4QSCTj4gTthoWagVU/s1600/%25E5%258C%25AF%25E5%2587%25BA%25E5%25BE%258C.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;402&quot; data-original-width=&quot;765&quot; height=&quot;336&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlTUzEeoJi5pzbXcZHufRMYsH3VZiieapxH_HefPwxdncv4BCPIY91IHx5dp7eLmlNGezQ3sLZR9ITT6zd_baYj0wqBRXB9dTrDIUemIZZGUvkFZAngrUem43AtrY4QSCTj4gTthoWagVU/s640/%25E5%258C%25AF%25E5%2587%25BA%25E5%25BE%258C.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
兩個需求&lt;/h3&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Base 和其他後來建立機器的映像檔放在同一個資料夾&lt;/li&gt;
&lt;li&gt;Base 映像檔已經合併了所有的檢查點( 快照，Snapshot)&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;/ol&gt;
&lt;div&gt;
匯入 base 的機器時，虛擬機器的硬碟(vhdx 檔)檔名仍和原來的一樣，因此必須指定另一個資料夾，不符合我第 1 個需求。在匯入時如果之前做過快照，會連同檢查點的檔案一起匯入，而 Hyper-V 的檢查點是種差異磁碟，如果將最早的 vhdx 檔改名直接複製，則中間做過的系統更新就會消失。&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
那要如何同時滿足這兩個需求呢？後來在 [&lt;a href=&quot;https://blog.miniasp.com/post/2009/09/17/How-to-restor-vm-and-snapshots-to-a-different-server-in-Hyper-V&quot;&gt;如何手動還原 Hyper-V 的 VM 與 Snapshots 到另一台主機&lt;/a&gt;] 找到將 Snapshot 合併回父 vhdx 的方法，同時又可以指定新檔名的方法，這樣就能直接建立一台新的虛擬機器，並指定 vhdx 檔做為硬碟。&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3&gt;
合併 Snapshot 並指定新檔名&lt;/h3&gt;
&lt;div&gt;
&lt;ol&gt;
&lt;li&gt;選取編輯磁碟便會啟動編輯磁碟精靈&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVRal0b2DTaqcbX-IMftKBWShihJPWPuDyJNRNZFZfg0BbigV8wYyMS53MH16_jV7hVF1Gj51YEz-nxnnobEb9OATccu35Z_EkZCHRLp5IUNwMHeoD6kYRFeu_B3-Uhm4A7EKrM8aocQ2H/s1600/%25E9%2581%25B8%25E5%258F%2596%25E7%25B7%25A8%25E8%25BC%25AF%25E7%25A3%2581%25E7%25A2%259F.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;901&quot; data-original-width=&quot;1182&quot; height=&quot;484&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVRal0b2DTaqcbX-IMftKBWShihJPWPuDyJNRNZFZfg0BbigV8wYyMS53MH16_jV7hVF1Gj51YEz-nxnnobEb9OATccu35Z_EkZCHRLp5IUNwMHeoD6kYRFeu_B3-Uhm4A7EKrM8aocQ2H/s640/%25E9%2581%25B8%25E5%258F%2596%25E7%25B7%25A8%25E8%25BC%25AF%25E7%25A3%2581%25E7%25A2%259F.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;選取最新的 avhdx 檔，或是想要合併的檢查點&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEimT9bGuTpWp86_1sOuvrR2TSqHRzSckTMQ0eLSsGjGt03tmS16cm0Bysy6mwodeOpbqsuWtU9fTxD7dXi1o3aYBTM50ZM84STJnf3dZYdur0bWTspRtGzcslG_zqbQKJw-JLeaxBWz7E/s1600/%25E9%2581%25B8%25E5%258F%2596%25E6%259C%2580%25E6%2596%25B0%25E7%259A%2584avhdx%25E6%25AA%2594.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;591&quot; data-original-width=&quot;837&quot; height=&quot;449&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEimT9bGuTpWp86_1sOuvrR2TSqHRzSckTMQ0eLSsGjGt03tmS16cm0Bysy6mwodeOpbqsuWtU9fTxD7dXi1o3aYBTM50ZM84STJnf3dZYdur0bWTspRtGzcslG_zqbQKJw-JLeaxBWz7E/s640/%25E9%2581%25B8%25E5%258F%2596%25E6%259C%2580%25E6%2596%25B0%25E7%259A%2584avhdx%25E6%25AA%2594.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;選擇合併&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoZl20nW0IoC9OoPVCVOWdq0fKsEjaS_jpQaj-BwRkFDtsnbI3Kwrf2m3DgF7cShTv5rUCVm_YoKMFGCH2h-ZpNXI2oqv2-tCnOgbgCkcIpWgKKXlZtCKmqd175I4o2uflsdNVMNCocPHi/s1600/%25E9%2581%25B8%25E6%2593%2587%25E5%2590%2588%25E4%25BD%25B5.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;666&quot; data-original-width=&quot;976&quot; height=&quot;435&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoZl20nW0IoC9OoPVCVOWdq0fKsEjaS_jpQaj-BwRkFDtsnbI3Kwrf2m3DgF7cShTv5rUCVm_YoKMFGCH2h-ZpNXI2oqv2-tCnOgbgCkcIpWgKKXlZtCKmqd175I4o2uflsdNVMNCocPHi/s640/%25E9%2581%25B8%25E6%2593%2587%25E5%2590%2588%25E4%25BD%25B5.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;合併至新的虛擬硬碟並指定檔名&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHBMRmskb3El1rqOVGL7RwosSM3uplAma3JVIxkVN08dDTgdN4yny8YDGKCIjcibAKOGuLG9qErRmzEZTe9JeOncIIgPvE1pwI3HwC1ttS2cVNzqEuqlZLI_UuXBRgtgE1c6iajjMxi8Lm/s1600/%25E5%2590%2588%25E4%25BD%25B5%25E8%2587%25B3%25E6%2596%25B0%25E7%259A%2584%25E8%2599%259B%25E6%2593%25AC%25E7%25A1%25AC%25E7%25A2%259F%25E4%25B8%25A6%25E6%258C%2587%25E5%25AE%259A%25E6%25AA%2594%25E5%2590%258D.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;666&quot; data-original-width=&quot;976&quot; height=&quot;435&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHBMRmskb3El1rqOVGL7RwosSM3uplAma3JVIxkVN08dDTgdN4yny8YDGKCIjcibAKOGuLG9qErRmzEZTe9JeOncIIgPvE1pwI3HwC1ttS2cVNzqEuqlZLI_UuXBRgtgE1c6iajjMxi8Lm/s640/%25E5%2590%2588%25E4%25BD%25B5%25E8%2587%25B3%25E6%2596%25B0%25E7%259A%2584%25E8%2599%259B%25E6%2593%25AC%25E7%25A1%25AC%25E7%25A2%259F%25E4%25B8%25A6%25E6%258C%2587%25E5%25AE%259A%25E6%25AA%2594%25E5%2590%258D.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
建立新的虛擬機器，並連接新的虛擬硬碟&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjV3iqSwCeol3Bc9bzhRIDXQSfnULAplJxrzw8tfiTFuS4gXeeQKYpDCAJYxeyWJFsk1UuuJzhmDdC2pcKQrWCnXASiWbtLuK6LJLqMBjTkL-T6Eqtu0BSwe6Bwn231b_tXWyh-U39U_2Qj/s1600/%25E9%2580%25A3%25E6%258E%25A5%25E6%2596%25B0%25E7%259A%2584%25E8%2599%259B%25E6%2593%25AC%25E7%25A1%25AC%25E7%25A2%259F.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;666&quot; data-original-width=&quot;983&quot; height=&quot;432&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjV3iqSwCeol3Bc9bzhRIDXQSfnULAplJxrzw8tfiTFuS4gXeeQKYpDCAJYxeyWJFsk1UuuJzhmDdC2pcKQrWCnXASiWbtLuK6LJLqMBjTkL-T6Eqtu0BSwe6Bwn231b_tXWyh-U39U_2Qj/s640/%25E9%2580%25A3%25E6%258E%25A5%25E6%2596%25B0%25E7%259A%2584%25E8%2599%259B%25E6%2593%25AC%25E7%25A1%25AC%25E7%25A2%259F.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
在虛擬機器列表中便可看到新舊機器&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGZ4j29bh9KvKQ439e83JJ-6pHxij9L_o3qftZqj6KVlc1VbcptwpgJPdV8rJ64hDeReNVC0w9U7RNXH7ChVDMd3_uBc5Mwi2kMEG4WlSfIJ4w73jf593-SxRWYaqxZyc4h0lpDHoVD9Q_/s1600/%25E6%2596%25B0%25E8%2588%258A%25E5%2585%25B1%25E5%25AD%2598.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;901&quot; data-original-width=&quot;1182&quot; height=&quot;484&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGZ4j29bh9KvKQ439e83JJ-6pHxij9L_o3qftZqj6KVlc1VbcptwpgJPdV8rJ64hDeReNVC0w9U7RNXH7ChVDMd3_uBc5Mwi2kMEG4WlSfIJ4w73jf593-SxRWYaqxZyc4h0lpDHoVD9Q_/s640/%25E6%2596%25B0%25E8%2588%258A%25E5%2585%25B1%25E5%25AD%2598.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;h3&gt;
&lt;br /&gt;&lt;/h3&gt;
&lt;h3&gt;
CentOS 啟動網路&lt;/h3&gt;
我的 Base 是 CentOS 8，在建立新虛擬機器後，遇到沒有網路的問題，以下是啟動網路的方法。
&lt;br /&gt;
&lt;div&gt;
&lt;ol&gt;
&lt;li&gt;用 ifconfig 指令查看網路，如果沒有就先看一下 /sbin/ 底下有沒有 ifconfig，再沒有就安裝 net-tools&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjV67Y-6LQ_En8UIVakGRXkBr6fuW3bydhRQbWN06IrT1x2Xc-EvK0spPVXiTpx8ChbqGJXrh6PHf0nQ5l2ozOIZmjjMAzHELFDipCYriWVskOawxrdzIcTyPBRucFVEOTE3MCjHNK5iQmW/s1600/ifconfig%25E7%259A%2584%25E7%25B5%2590%25E6%259E%259C.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;988&quot; data-original-width=&quot;1154&quot; height=&quot;545&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjV67Y-6LQ_En8UIVakGRXkBr6fuW3bydhRQbWN06IrT1x2Xc-EvK0spPVXiTpx8ChbqGJXrh6PHf0nQ5l2ozOIZmjjMAzHELFDipCYriWVskOawxrdzIcTyPBRucFVEOTE3MCjHNK5iQmW/s640/ifconfig%25E7%259A%2584%25E7%25B5%2590%25E6%259E%259C.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;pre class=&quot;codeblock prettyprint&quot;&gt; 
# 安裝 net-tools
sudo dnf install net-tools
&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;啟動網路，我的是 eth0，就輸入以下指令
&lt;pre class=&quot;codeblock prettyprint&quot;&gt; 
sudo ifup eth0&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;如果希望開機便自動啟動網路，修改檔案 /etc/sysconfig/network-scripts/ifcfg-eth0，將 ONBOOT=no 改為ONBOOT=yes&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIaAPBCgghdmFr9L1DFg0l4nwqY7BqrlL0b-bKa0KAZli-l1NXcGXvPgLsobRB2QvTf2nDaQnMN-0iNtnUu-M3XH3tXLD9AsmgQv29VIR1nou0MEBUu27JzlgHlapt7b47U7AhL94ZgLjI/s1600/onboot.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;988&quot; data-original-width=&quot;1154&quot; height=&quot;545&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIaAPBCgghdmFr9L1DFg0l4nwqY7BqrlL0b-bKa0KAZli-l1NXcGXvPgLsobRB2QvTf2nDaQnMN-0iNtnUu-M3XH3tXLD9AsmgQv29VIR1nou0MEBUu27JzlgHlapt7b47U7AhL94ZgLjI/s640/onboot.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
利用差異磁碟可節省實際硬碟空間&lt;/h3&gt;
將父磁碟設為唯讀，新增子磁碟為「差異磁碟」，在建立新虛擬機器時連接至子磁碟，這樣可以節省硬碟空間，不過一旦虛擬機器太多時，父磁碟將成為效能瓶頸。&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
參考網頁&lt;/h3&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://ithelp.ithome.com.tw/articles/10130374&quot;&gt;Day-12 Hyper-V 3.0實戰之-另一種備份的方式(匯出匯入虛擬機器)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dotblogs.com.tw/maduka/2013/01/03/86704&quot;&gt;[Hyper-V]如何在Hyper-V 3.0上進行虛擬主機的複製&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.miniasp.com/post/2009/09/17/How-to-restor-vm-and-snapshots-to-a-different-server-in-Hyper-V&quot;&gt;如何手動還原 Hyper-V 的 VM 與 Snapshots 到另一台主機&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dev.twsiyuan.com/2018/02/linux-network-unreachable.html&quot;&gt;Linux CentOS Network unreachable 處理解決方式&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://jengting.blogspot.com/2015/10/differencing-disk.html&quot;&gt;[HyperV] 差異磁碟&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</description><link>http://cookeylinux.bluesmile.net/2020/04/hyper-v.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlTUzEeoJi5pzbXcZHufRMYsH3VZiieapxH_HefPwxdncv4BCPIY91IHx5dp7eLmlNGezQ3sLZR9ITT6zd_baYj0wqBRXB9dTrDIUemIZZGUvkFZAngrUem43AtrY4QSCTj4gTthoWagVU/s72-c/%25E5%258C%25AF%25E5%2587%25BA%25E5%25BE%258C.PNG" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5216775538966060385.post-2570837791329493124</guid><pubDate>Sun, 29 Mar 2020 06:01:00 +0000</pubDate><atom:updated>2020-03-29T14:02:41.832+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Chromium</category><category domain="http://www.blogger.com/atom/ns#">Linux</category><category domain="http://www.blogger.com/atom/ns#">Manjaro</category><title>解決總是出現「請輸入解鎖登入鑰匙圈的密碼」提示訊息的困擾</title><description>使用 Chromium 時，每次都會出現「請輸入解鎖登入鑰匙圈的密碼」的提示訊窗，透過 Google &lt;a href=&quot;https://www.google.com/search?client=firefox-b-d&amp;amp;q=%E8%AB%8B%E8%BC%B8%E5%85%A5%E8%A7%A3%E9%8E%96%E7%99%BB%E5%85%A5%E9%91%B0%E5%8C%99%E5%9C%88%E7%9A%84%E5%AF%86%E7%A2%BC&quot;&gt;查詢&lt;/a&gt;後，得到的總是 Ubuntu Linux 系統上的解決方法，首先要開啟「密碼及加密金鑰」這個程式，但在 Manjaro Linux 上就是找不到，在 Pacman 中搜尋關鍵字「password」也沒有。&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Seahorse 就是「密碼及加密金鑰」&lt;/h3&gt;
從英文網頁中知道要安裝 &lt;a href=&quot;https://wiki.gnome.org/Apps/Seahorse&quot;&gt;Seahorse&lt;/a&gt; 這個程式，但它的名字實在和密碼不相關，於是遲遲不敢安裝，最近大著膽子給它裝下去了，發現原來它就是尋找許久的「密碼及加密金鑰」。&lt;br /&gt;
&lt;br /&gt;
之後就照著 google 到的方法做就好。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
參考網頁：&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://yinung2.blogspot.com/2018/07/mint-18-chromium.html&quot;&gt;Mint 18 啟動 Chromium 會要求「輸入預設鑰匙圈的密碼」解決方法&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://max-everyday.com/2016/06/ubuntu-key-password-chrome/&quot;&gt;Ubuntu如何設定Chrome不彈出輸入密碼對話框&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
</description><link>http://cookeylinux.bluesmile.net/2020/03/gnome-keyring.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5216775538966060385.post-42776573790354056</guid><pubDate>Mon, 23 Mar 2020 04:01:00 +0000</pubDate><atom:updated>2020-05-29T12:02:10.775+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Linux</category><category domain="http://www.blogger.com/atom/ns#">Manjaro</category><title>Manjaro Linux 安裝後的調整</title><description>因為硬碟排線故障致使我誤以為硬碟壞掉而買了一顆新的硬碟，在重灌系統的過程時，想說應該要紀錄一下安裝後的調整，以便日後能迅速地設定成自己順手的樣子。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
設定 Locale&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;查看目前系統使用的 locale&lt;pre class=&quot;codeblock prettyprint&quot;&gt;locale
&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;列出已經安裝生成的語系&lt;pre class=&quot;codeblock prettyprint&quot;&gt;locale -a
&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;切換語系到 zh_TW.UTF-8&lt;pre class=&quot;codeblock prettyprint&quot;&gt;sudo localectl set-locale LANG=zh_TW.UTF-8 
&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;如果想要換的 locale 還沒有生成，先編輯 /etc/locale.gen 取消註解之後，執行以下指令生成&lt;pre class=&quot;codeblock prettyprint&quot;&gt;sudo locale-gen
&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;
&lt;/h3&gt;
&lt;h3&gt;
&lt;/h3&gt;
&lt;h3&gt;
&amp;nbsp;&lt;/h3&gt;
&lt;h3&gt;
&amp;nbsp;安裝並設定輸入法 fcitx&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;安裝 fcitx&lt;pre class=&quot;codeblock prettyprint&quot;&gt;sudo pacman -Syu fcitx-gtk2 fcitx-gtk3 fcitx-qt5 fcitx-table-extra fcitx-configtool fcitx-chewing
&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;編輯 ~/.profile 檔，內容如下，可先將舊檔改名留存，之後要重開機&lt;pre class=&quot;codeblock prettyprint&quot;&gt;export QT_IM_MODULE=fcitx
export GTK_IM_MODULE=fcitx
export XMODIFIERS=&quot;@im=fcitx&quot;
&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;新增鍵盤輸入法為嘸蝦米(boshiamy)，並進行細部設定&lt;/li&gt;
&lt;li&gt;參考網址：&amp;nbsp;&lt;a href=&quot;https://chakra-zh.blogspot.com/2015/10/fcitx-chinese-input-on-chakra-linux.html&quot;&gt;Chakra Linux 安裝 Fcitx 中文輸入法教學&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;
&amp;nbsp;&lt;/h3&gt;
&lt;h3&gt;
同步 Linux 與 Windows 的時間認定&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Linux 下原本是將 BIOS 時間認定成 UTC+0，要查看原來的設定可以輸入以下指令：
&lt;pre class=&quot;codeblock prettyprint&quot;&gt;timedatectl | grep local
&lt;/pre&gt;
會看如下的結果
&lt;pre class=&quot;codeblock prettyprint&quot;&gt;RTC in local TZ: no
&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;想讓 Linux 使用本地時間，指令如下：
&lt;pre class=&quot;codeblock prettyprint&quot;&gt;sudo timedatectl set-local-rtc 1 --adjust-system-clock &lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;設定裡頭的「時間與日期」也可以達到同樣的效果
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;
&amp;nbsp;&lt;/h3&gt;
&lt;h3&gt;
設定右下角時鐘顯示格式&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;滑鼠右鍵點擊右下角的時鐘後，選擇「設定組態」&lt;/li&gt;
&lt;li&gt;在「設定組態」裡選擇「使用自訂日期格式」並在「日期格式」欄中輸入
&lt;pre class=&quot;codeblock prettyprint&quot;&gt;%Y-%m-%d %n %H:%M:%S
&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;h3&gt;
&amp;nbsp;&lt;/h3&gt;
&lt;h3&gt;
安裝常用的軟體&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Chromium、TeXLive、noto-fonts-cjk、VS Code、Notepad ++、Seahorse&lt;/li&gt;
&lt;pre class=&quot;codeblock prettyprint&quot;&gt;pacman -Syu texlive-bin texlive-core texlive-latexextra texlive-langchinese texlive-science texlive-pictures seahorse&lt;/pre&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</description><link>http://cookeylinux.bluesmile.net/2020/03/manjaro-linux.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5216775538966060385.post-7274328527643912834</guid><pubDate>Tue, 17 Mar 2020 05:00:00 +0000</pubDate><atom:updated>2020-03-17T13:01:04.432+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">LaTeX</category><category domain="http://www.blogger.com/atom/ns#">SumatraPDF</category><category domain="http://www.blogger.com/atom/ns#">SyncTeX</category><category domain="http://www.blogger.com/atom/ns#">VS Code</category><title>設定 SumatraPDF 的 SyncTeX 正/反查</title><description>原先我使用的 LaTeX editor 是 &lt;a href=&quot;https://www.texstudio.org/&quot;&gt;TeXstudio&lt;/a&gt;，而與 TeXstudio 配對的 PDF reader 則是 &lt;a href=&quot;https://www.sumatrapdfreader.org/free-pdf-reader.html&quot;&gt;SumatraPDF&lt;/a&gt;，原因是 SumatraPDF 可以設定 &lt;a href=&quot;http://itexmac.sourceforge.net/SyncTeX.html&quot;&gt;SyncTeX&lt;/a&gt;&amp;nbsp;支援反查，只要在 PDF 檔上點兩下就會跳回 TeX 檔中相對應的段落，在修改文件的時候很方便。&lt;br /&gt;
&lt;br /&gt;
但是我打算改以 &lt;a href=&quot;https://code.visualstudio.com/&quot;&gt;Visual Studio Code&lt;/a&gt; 做為主要的 TeX 編輯器，於是備份一下原先對應 TeXstudio 的設定，也紀錄改用 VS Code 之後的設定。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
進入 SumatraPDF 的設定選項&lt;/h3&gt;
從左上角的三條槓開始，進入「設定值」選單底下的「選項」。&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOo3I-wgimE6n0WoarQWXGgC88h-Om8McdaiEyZXpV6qi7g0ko53fY9NKG4p_FssVCYkxDgYNQMy-oXJgPWVfLpWfiMTph72DIvQAVGndmLk51rDJbn1k8JlVJJA3dZ_wwFjjWVvEADk64/s1600/sumatrapdf-option.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;742&quot; data-original-width=&quot;1279&quot; height=&quot;231&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOo3I-wgimE6n0WoarQWXGgC88h-Om8McdaiEyZXpV6qi7g0ko53fY9NKG4p_FssVCYkxDgYNQMy-oXJgPWVfLpWfiMTph72DIvQAVGndmLk51rDJbn1k8JlVJJA3dZ_wwFjjWVvEADk64/s400/sumatrapdf-option.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
TeXstudio 裡的設定&lt;/h3&gt;
其實安裝完 TeXstudio 之後就自動設定好了，以下留個紀錄&lt;br /&gt;
&lt;pre class=&quot;codeblock prettyprint&quot;&gt;xelatex.exe -synctex=1 -interaction=nonstopmode %.tex
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
SumatraPDF 裡對應 TeXsutdio 的設定&lt;/h3&gt;
&lt;br /&gt;
&lt;pre class=&quot;codeblock prettyprint&quot;&gt;&quot;C:\Program Files (x86)\TeXstudio\texstudio.exe&quot; &quot;%f&quot; -line %l
&lt;/pre&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiWVaxkmjGrJ5dOpjld7DazSkRe2CPezLMltSEhkLQjx5NCiWyzvxTsFBTh9t4CpYSVlOA1lRTFocVpULOlHo8g8Le9CIeyEfwXGccdsIeBKBbtLxFYv8SYvc_08rZgtTRRBSdYbuH9AOi/s1600/sumatrapdf-texstudio.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;515&quot; data-original-width=&quot;422&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiWVaxkmjGrJ5dOpjld7DazSkRe2CPezLMltSEhkLQjx5NCiWyzvxTsFBTh9t4CpYSVlOA1lRTFocVpULOlHo8g8Le9CIeyEfwXGccdsIeBKBbtLxFYv8SYvc_08rZgtTRRBSdYbuH9AOi/s400/sumatrapdf-texstudio.png&quot; width=&quot;327&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
VS Code 裡的設定&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;安裝 &lt;a href=&quot;https://marketplace.visualstudio.com/items?itemName=James-Yu.latex-workshop&quot;&gt;LaTeX-Workshop&lt;/a&gt; 套件&lt;/li&gt;
&lt;li&gt;參考 LaTeX-Workshop 的 &lt;a href=&quot;https://github.com/James-Yu/LaTeX-Workshop/wiki/View&quot;&gt;Wiki&lt;/a&gt;&amp;nbsp;，在 settings.json 加入以下的設定&lt;/li&gt;
&lt;pre class=&quot;codeblock prettyprint&quot;&gt;&quot;latex-workshop.latex.tools&quot;: [
    {
        &quot;name&quot;: &quot;xelatex&quot;,
        &quot;command&quot;: &quot;C:\\Program Files (x86)\\TeXLive\\2019\\bin\\win32\\xelatex&quot;,
        &quot;args&quot;: [
            &quot;-synctex=1&quot;,
            &quot;-interaction=nonstopmode&quot;,
            &quot;-file-line-error&quot;, 
            &quot;-shell-escape&quot;,
            &quot;%DOCFILE%&quot;
        ]
    },
&quot;latex-workshop.view.pdf.external.synctex.command&quot;: &quot;C:/Program Files/SumatraPDF/SumatraPDF.exe&quot;,
&quot;latex-workshop.view.pdf.external.synctex.args&quot;: [
    &quot;-forward-search&quot;,
    &quot;%TEX%&quot;,
    &quot;%LINE%&quot;,
    &quot;-reuse-instance&quot;,
    &quot;-inverse-search&quot;,
    &quot;code \&quot;C:\\Users\\使用者名稱\\AppData\\Local\\Programs\\Microsoft VS Code\\resources\\app\\out\\cli.js\&quot; -r -g \&quot;%f:%l\&quot;&quot;,
    &quot;%PDF%&quot;,
],&lt;/pre&gt;
&lt;/ol&gt;
&lt;div&gt;
其中 code 是VS Code 所在的資料夾，而 SumatraPDF 所在的路徑，及 VS Code 安裝的資料夾請自行更換。&lt;br /&gt;
&lt;br /&gt;
第一段是設定從 VS Code 正查 PDF 檔，快速鍵是 Ctrl + Alt + J，在 VS Code 裡按下快速鍵就會跳到 PDF 檔裡相對應的段落。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
SumatraPDF 裡對應 VS Code 的設定&lt;/h3&gt;
&lt;/div&gt;
&lt;pre class=&quot;codeblock prettyprint&quot;&gt;&quot;C:\Users\使用者名稱\AppData\Local\Programs\Microsoft VS Code\Code.exe&quot; -g &quot;%f:%l&quot;&lt;/pre&gt;
其中的 C:\Users\使用者名稱\AppData\Local\Programs\Microsoft VS Code\ 是 VS Code 安裝的資料夾，請根據自己的環境更改。</description><link>http://cookeylinux.bluesmile.net/2020/03/sumatrapdf-synctex.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOo3I-wgimE6n0WoarQWXGgC88h-Om8McdaiEyZXpV6qi7g0ko53fY9NKG4p_FssVCYkxDgYNQMy-oXJgPWVfLpWfiMTph72DIvQAVGndmLk51rDJbn1k8JlVJJA3dZ_wwFjjWVvEADk64/s72-c/sumatrapdf-option.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5216775538966060385.post-5525904923098081023</guid><pubDate>Wed, 11 Mar 2020 17:03:00 +0000</pubDate><atom:updated>2020-03-12T01:03:38.229+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">LaTeX</category><title>教育部標準字體下載</title><description>教育部有三套標準字體，分別是&lt;a href=&quot;https://language.moe.gov.tw/001/Upload/Files/site_content/M0001/edukai-4.0.zip&quot;&gt;標準楷書&lt;/a&gt;、&lt;a href=&quot;https://language.moe.gov.tw/001/Upload/Files/site_content/M0001/eduSong_Unicode.zip&quot;&gt;標準宋體(Unicode)&lt;/a&gt;、&lt;a href=&quot;https://language.moe.gov.tw/001/Upload/Files/site_content/M0001/MoeLI-3.0.zip&quot;&gt;隸書&lt;/a&gt;，但是下載的連結不太好找，做個紀錄以後才不會又找半天。</description><link>http://cookeylinux.bluesmile.net/2020/03/blog-post.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5216775538966060385.post-4351011045134999710</guid><pubDate>Mon, 10 Feb 2020 09:17:00 +0000</pubDate><atom:updated>2020-02-11T23:08:22.082+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Python</category><title>利用批次檔(.bat) 執行 python script</title><description>我有幾個 python script 想要每天執行，當然就需要 Windows 的排程功能，因為要執行的 python script 不只一個，於是想利用批次檔(.bat) 來依序執行，沒想到要利用批次檔執行 python script 有一些小地方要注意。&lt;br /&gt;
&lt;br /&gt;
以下就紀錄一下想在 Windows 下使用批次檔執行 python script 的注意事項：&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;請使用記事本編輯批次檔(.bat)&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;將編碼改為 ANSI，原先我是用 &lt;a href=&quot;https://notepad-plus-plus.org/&quot;&gt;Notepad++&lt;/a&gt; 編輯，但執行批次檔時中文路徑一直有問題，後來才知道批次檔的編碼如果是 ANSI 就沒問題。&lt;/li&gt;
&lt;li&gt;Notepad++ 預設編碼是 UTF-8，如果要在批次檔中使用 UTF-8，要將 code page 改成 65001。&lt;/li&gt;
&lt;li&gt;換行符號要改成 Windows CR LF 格式。&lt;/li&gt;
&lt;li&gt;用 call 來執行 python script 而不是 start&lt;/li&gt;
&lt;li&gt;以下是批次檔的範例，chcp 指令用來切換 code page，UTF-8 是 65001
&lt;pre class=&quot;codeblock prettyprint&quot;&gt;@echo off
chcp 65001
call python scriptDir\my_script.py
pause 
&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;li&gt;錯誤訊息&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;當需要 import numpy 時會出現如下的錯誤訊息，主因是 DLL Load Failed&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFtoXwcmMsvBdkUrTAAaYEW0SnFKOvpzJZjtTJvjLJG9QzponqXJ0BZl2G3OV_Wlqq_SA5T-gAnwoZxICZ7eB1ND8qtJgWY6W5uTi8xWGq8TVzYLcn9Dgr9vwul_J35GpjeGTp0aIeooT4/s1600/batpython%25E9%258C%25AF%25E8%25AA%25A4%25E8%25A8%258A%25E6%2581%25AF.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;900&quot; data-original-width=&quot;1600&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFtoXwcmMsvBdkUrTAAaYEW0SnFKOvpzJZjtTJvjLJG9QzponqXJ0BZl2G3OV_Wlqq_SA5T-gAnwoZxICZ7eB1ND8qtJgWY6W5uTi8xWGq8TVzYLcn9Dgr9vwul_J35GpjeGTp0aIeooT4/s640/batpython%25E9%258C%25AF%25E8%25AA%25A4%25E8%25A8%258A%25E6%2581%25AF.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;可在命令提示字元(cmd) 中輸入以下的測試碼
&lt;pre class=&quot;codeblock prettyprint&quot;&gt;python -c &quot;import numpy&quot;
&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;li&gt;解決方法：將 Anaconda3\Library\bin 加入到 PATH 環境變數中&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgceEFc1-KPgSpUBIJKEZtJG808vwkNO5aYznm-5kSBB03_FJdjSXnz8ai2NDa9Ph8Z_wlbl_VaNBdWheom6TKZBPthOBWiWIl5I5yOdJs1djF_PNcU7bWsR9rQTPhYXfd96PdULdbrtLIY/s1600/Path%25E5%258A%25A0%25E5%2585%25A5Librarybin.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;634&quot; data-original-width=&quot;677&quot; height=&quot;596&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgceEFc1-KPgSpUBIJKEZtJG808vwkNO5aYznm-5kSBB03_FJdjSXnz8ai2NDa9Ph8Z_wlbl_VaNBdWheom6TKZBPthOBWiWIl5I5yOdJs1djF_PNcU7bWsR9rQTPhYXfd96PdULdbrtLIY/s640/Path%25E5%258A%25A0%25E5%2585%25A5Librarybin.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;參考網址：&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/ContinuumIO/anaconda-issues/issues/1508&quot;&gt;When trying to use numpy: &quot;DLL Load Failed: The specified procedure could not be found.&quot;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.darkthread.net/blog/command-prompt-codepage/&quot;&gt;在命令提示視窗(Command Prompt)顯示UTF-8內容&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://paladinprogram.blogspot.com/2019/04/bat.html&quot;&gt;處理 .bat 有中文路徑的問題&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://pclearn0915.blogspot.com/2019/05/pythonwith-anaconda-promt.html&quot;&gt;建立python程式自動執行批次檔(with Anaconda promt)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://titangene.github.io/article/set-up-windows-task-scheduler-to-periodically-execute-python-crawler.html&quot;&gt;設定 Windows 工作排程定期執行 Python 爬蟲程式&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt;
&lt;ol&gt;
&lt;/ol&gt;
</description><link>http://cookeylinux.bluesmile.net/2020/02/bat-python-script.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFtoXwcmMsvBdkUrTAAaYEW0SnFKOvpzJZjtTJvjLJG9QzponqXJ0BZl2G3OV_Wlqq_SA5T-gAnwoZxICZ7eB1ND8qtJgWY6W5uTi8xWGq8TVzYLcn9Dgr9vwul_J35GpjeGTp0aIeooT4/s72-c/batpython%25E9%258C%25AF%25E8%25AA%25A4%25E8%25A8%258A%25E6%2581%25AF.PNG" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5216775538966060385.post-6690773853130259360</guid><pubDate>Thu, 30 Jan 2020 08:38:00 +0000</pubDate><atom:updated>2020-01-30T16:56:04.333+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Linux</category><category domain="http://www.blogger.com/atom/ns#">Manjaro</category><title>Windows 10 更新後，開機出現 grub rescue</title><description>最近更新 Windows 10 到 &lt;a href=&quot;https://docs.microsoft.com/zh-tw/windows/whats-new/whats-new-windows-10-version-1909&quot;&gt;1909&lt;/a&gt; 版本，但在更新之後重開機卻進入 grub rescue，這個情形已經不是第一次發生了，有必要做個筆記以防之後再次發生。&lt;br /&gt;
&lt;br /&gt;
步驟上跟參考網址的第1篇大致相同，但在 insmod normal 之後還是不能進入作業系統，所以以下按照我的電腦實際狀況寫一遍解決流程：&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;利用 ls 指令查詢磁區情形&lt;/li&gt;
&lt;li&gt;逐一以 ls 看能不能查詢，我的是 Linux 磁區是 (hd0,msdos3)，輸入 ls (hd0,msdos3) 之後會顯示 filesystem 是 XFS，其餘的磁區則是 unknown。&lt;/li&gt;
&lt;pre class=&quot;codeblock prettyprint&quot;&gt; 
ls (hd0,msdos3)
 &lt;/pre&gt;
&lt;li&gt;set 指令查詢現在的 prefix 和 root 設定值&lt;/li&gt;
&lt;li&gt;利用 set 指令將 prefix 和 root 改為正確的磁區&lt;/li&gt;
&lt;pre class=&quot;codeblock prettyprint&quot;&gt; 
set root=(hd0,msdos3)
set prefix=(hd0,msdos3)/boot/grub
 &lt;/pre&gt;
&lt;li&gt;切換到 normal 模式&lt;/li&gt;
&lt;pre class=&quot;codeblock prettyprint&quot;&gt;
insmod normal
normal
&lt;/pre&gt;
&lt;li&gt;之後開始和參考網址的內容不同，我選擇 Windows 10 和 Linux 都無法進入作業系統。移動光條到 Linux 選項式後，輸入「e」編輯內容，發現其中的 root 磁區和實際的情形不同，將其改為正確的 (hd0,msdos3) 之後即可開機進入 Linux&lt;/li&gt;
&lt;li&gt;安裝 GRUB，我的開機磁碟是 /dev/sda&lt;/li&gt;
&lt;pre class=&quot;codeblock prettyprint&quot;&gt;
sudo grub-install /dev/sda
&lt;/pre&gt;
&lt;li&gt;更新 GRUB 選單&lt;/li&gt;
&lt;pre class=&quot;codeblock prettyprint&quot;&gt;
sudo grub-update
&lt;/pre&gt;
&lt;/ol&gt;
&lt;br /&gt;
參考網址：
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;http://jeffyon.blogspot.com/2016/08/windows-10-ubuntu-grub-rescue.html&quot;&gt;雙系統升級 Windows 10 後造成 ubuntu 開機進入 grub rescue&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://louis3c.blogspot.com/2015/08/windows-10-grub.html&quot;&gt;升級Windows 10 grub開機選單修復&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://willywus.blogspot.com/2015/12/linuxwinwin10-grub-rescue.html&quot;&gt;[archlinux+win10]win10 更新，進入grub rescue??&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wiki.archlinux.org/index.php/GRUB_(%E6%AD%A3%E9%AB%94%E4%B8%AD%E6%96%87)&quot;&gt;ArchWiki GRUB(正體中文)&lt;/a&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
</description><link>http://cookeylinux.bluesmile.net/2020/01/windows-10-grub-rescue.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5216775538966060385.post-4868825358202900728</guid><pubDate>Thu, 16 Jan 2020 05:04:00 +0000</pubDate><atom:updated>2020-01-16T13:04:59.889+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">DataFrame</category><category domain="http://www.blogger.com/atom/ns#">Python</category><title>逐列印出 DataFrame 的內容</title><description>&lt;pre class=&quot;codeblock prettyprint&quot;&gt;
for index, row in df.iterrows():
    print(row[&#39;Column1&#39;], row[&#39;Column2&#39;],……)
&lt;/pre&gt;
&lt;br /&gt;
參考資料：&lt;a href=&quot;https://stackoverflow.com/questions/16476924/how-to-iterate-over-rows-in-a-dataframe-in-pandas&quot;&gt;How to iterate over rows in a DataFrame in Pandas?&lt;/a&gt;</description><link>http://cookeylinux.bluesmile.net/2020/01/dataframe.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item></channel></rss>