From 7da55257051b8f71a70c2300996592511f1360de Mon Sep 17 00:00:00 2001 From: Eric Chang Date: Mon, 16 Dec 2019 14:10:32 +0800 Subject: [PATCH] add config system wide favorite-apps with dconf in ubuntu 18.04 --- archetypes/default.md | 5 +- .../add-system-wide-favorite-apps-in-dconf.md | 74 ++ content/post/ubuntu-dconf-proxy-settings.md | 84 +++ public/about/index.html | 6 +- public/categories/ansible/index.html | 6 +- public/categories/index.xml | 4 +- public/categories/linux/index.html | 6 +- public/categories/proxmox/index.html | 6 +- public/categories/ps/index.html | 6 +- public/categories/碎念/index.html | 6 +- public/categories/筆記/index.html | 140 +++- public/categories/筆記/index.xml | 40 +- public/categories/群暉/index.html | 6 +- public/contact/index.html | 6 +- public/gallery/sammy93/index.html | 6 +- public/images/paid.png | Bin 0 -> 44548 bytes public/index.html | 108 +-- public/index.xml | 40 +- public/page/2/index.html | 90 ++- public/page/3/index.html | 130 ++-- public/page/4/index.html | 118 ++-- public/page/5/index.html | 99 +-- public/page/6/index.html | 97 ++- public/page/7/index.html | 173 ++--- public/page/8/index.html | 156 +++-- public/page/9/index.html | 135 +++- .../index.html | 6 +- .../index.html | 656 +++++++++++++++++ .../index.html | 6 +- .../index.html | 6 +- .../post/ansible-selectattr-filter/index.html | 6 +- .../index.html | 6 +- public/post/ansible-selectattr/index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- public/post/bookstack-docker/index.html | 6 +- .../index.html | 6 +- .../post/change-timezone-in-docker/index.html | 6 +- .../post/command_to_test_main_ssl/index.html | 6 +- public/post/copy_role_in_pgsql/index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../enable-synology-public-ssh/index.html | 6 +- .../index.html | 6 +- .../incredibly-slow-mdadm-rebuild/index.html | 6 +- public/post/index.xml | 40 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- public/post/log-all-bash-commands/index.html | 6 +- .../index.html | 6 +- .../post/nice-du-report-tool-durep/index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../synology-ds415-repair-cost/index.html | 6 +- .../transfer-cent62-using-rsync/index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../ubuntu-dconf-proxy-settings/index.html | 659 ++++++++++++++++++ .../weird-client-server-connection/index.html | 6 +- public/sitemap.xml | 45 +- public/tags/10g/index.html | 6 +- public/tags/ansible/index.html | 6 +- public/tags/backup/index.html | 6 +- public/tags/benchmark/index.html | 6 +- public/tags/bookstack/index.html | 6 +- public/tags/bsd/index.html | 6 +- public/tags/centos/index.html | 6 +- public/tags/dconf/index.html | 535 ++++++++++++++ public/tags/dconf/index.xml | 53 ++ public/tags/docker/index.html | 6 +- public/tags/du/index.html | 6 +- public/tags/edgerouter/index.html | 6 +- public/tags/failover/index.html | 6 +- public/tags/firefox/index.html | 6 +- public/tags/freenas/index.html | 6 +- public/tags/index.xml | 29 +- public/tags/inventory/index.html | 6 +- public/tags/launcher/index.html | 6 +- public/tags/linux/index.html | 6 +- public/tags/log/index.html | 6 +- public/tags/mdadm/index.html | 6 +- public/tags/mellanox/index.html | 6 +- public/tags/meshcentral/index.html | 6 +- public/tags/metabase/index.html | 6 +- public/tags/nas/index.html | 6 +- public/tags/nvidia/index.html | 6 +- public/tags/nvme/index.html | 6 +- public/tags/pgbarman/index.html | 6 +- public/tags/postgresql/index.html | 6 +- public/tags/proxmox/index.html | 6 +- public/tags/ps/index.html | 6 +- public/tags/psql/index.html | 6 +- public/tags/pxe/index.html | 6 +- public/tags/raid/index.html | 6 +- public/tags/remote/index.html | 6 +- public/tags/restore/index.html | 6 +- public/tags/ssh/index.html | 6 +- public/tags/synology/index.html | 6 +- public/tags/timezone/index.html | 6 +- public/tags/ubuntu/index.html | 82 ++- public/tags/ubuntu/index.xml | 17 +- public/tags/vim/index.html | 6 +- public/tags/vpn/index.html | 6 +- public/tags/wireguard/index.html | 6 +- public/tags/zfs/index.html | 6 +- public/tags/短今/index.html | 6 +- public/tags/筆記/index.html | 6 +- public/tags/群暉/index.html | 6 +- 119 files changed, 3343 insertions(+), 824 deletions(-) create mode 100644 content/post/add-system-wide-favorite-apps-in-dconf.md create mode 100644 content/post/ubuntu-dconf-proxy-settings.md create mode 100644 public/images/paid.png create mode 100644 public/post/add-system-wide-favorite-apps-in-dconf/index.html create mode 100644 public/post/ubuntu-dconf-proxy-settings/index.html create mode 100644 public/tags/dconf/index.html create mode 100644 public/tags/dconf/index.xml diff --git a/archetypes/default.md b/archetypes/default.md index 78baaeae..f0677b57 100644 --- a/archetypes/default.md +++ b/archetypes/default.md @@ -1,9 +1,9 @@ --- title: "{{ replace .Name "-" " " | title }}" date: {{ .Date }} -draft: true +draft: false noSummary: false -categories: [] +categories: ['筆記'] image: {{ shuffle (slice "https://h.cowbay.org/images/post-default-1.jpg" "https://h.cowbay.org/images/post-default-2.jpg" "https://h.cowbay.org/images/post-default-3.jpg" "https://h.cowbay.org/images/post-default-4.jpg" "https://h.cowbay.org/images/post-default-5.jpg" "https://h.cowbay.org/images/post-default-6.jpg" "https://h.cowbay.org/images/post-default-7.jpg" "https://h.cowbay.org/images/post-default-8.jpg" "https://h.cowbay.org/images/post-default-9.jpg" "https://h.cowbay.org/images/post-default-10.jpg" "https://h.cowbay.org/images/post-default-11.jpg" "https://h.cowbay.org/images/post-default-12.jpg" "https://h.cowbay.org/images/post-default-13.jpg" "https://h.cowbay.org/images/post-default-14.jpg" "https://h.cowbay.org/images/post-default-15.jpg" "https://h.cowbay.org/images/post-default-16.jpg" "https://h.cowbay.org/images/post-default-17.jpg" "https://h.cowbay.org/images/post-default-18.jpg")|first 1 }} tags: [] author: "Eric Chang" @@ -23,6 +23,5 @@ Contents continues... === delete below content when finish the post === youtbe: {{< youtube w7Ft2ymGmfc >}} -REF: [Neat]({{< ref "blog/neat.md" >}}) IG photo: {{< instagram BWNjjyYFxVx >}} diff --git a/content/post/add-system-wide-favorite-apps-in-dconf.md b/content/post/add-system-wide-favorite-apps-in-dconf.md new file mode 100644 index 00000000..581dd330 --- /dev/null +++ b/content/post/add-system-wide-favorite-apps-in-dconf.md @@ -0,0 +1,74 @@ +--- +title: "在ubuntu 18.04中,透過 dconf 設定系統層級的「我的最愛」/ Add System Wide Favorite Apps in dock with Dconf in ubuntu 18.04" +date: 2019-12-16T13:59:26+08:00 +draft: false +noSummary: false +categories: ['筆記'] +image: [https://h.cowbay.org/images/post-default-2.jpg] +tags: ['ubuntu','dconf'] +author: "Eric Chang" +keywords: + - ubuntu + - dconf + - favorite-app +--- + +這幾天在ansible 寫了一份新的playbook給developer 用 + +然後user反映說,希望能在ubuntu 18.04 內建的dock 裏面新增一個gnome-terminal的icon + +我才發現原來之前的寫法不能用在 ubuntu 18.04 上 + +只好又弄了一份出來 + + + +有些task 我是直接從原本給14.04 client 用的直接套用過來 + +也沒有去特別注意 + +今天重新檢查才發現,舊的寫法是給 14.04 的unity用 + +但是 18.04 已經不用 unity 了,所以在設定dock這個task 雖然有成功,但是沒做用 +(手術成功,但病人掛了?) + +原來的寫法是在 /usr/share/glib-2.0/schemas/ 底下新增一個設定檔 + +然後用dconf 去產生設定 + +原本的內容長這樣 +``` +[com.canonical.Unity.Launcher] +favorites=['application://ubiquity.desktop', 'application://launchers.desktop', 'application://nautilus.desktop', 'application +://gnome-terminal.desktop', 'application://google-chrome.desktop', 'application://goldendict.desktop', 'application://stardict +.desktop', 'application://libreoffice-writer.desktop', 'application://libreoffice-calc.desktop', 'unity://running-apps', 'unit +y://expo-icon', 'unity://devices'] +``` + +就如同前面所說,因爲18.04捨棄了 unity,所以這個config 等於沒有用了 + +新的步驟比較麻煩一點點 + +大概是 + +1. mkdir -p /etc/dconf/profile +2. vim /etc/dconf/profile/user +``` +#This line allows the user to change the default favorites later. +user-db:user +#This line defines a system database named msb +system-db:msb +``` +3. mkdir -p /etc/dconf/db/msb.d +4. vim /etc/dconf/db/msb.d/00_msb_settings +``` +# Define default favorite apps +[org/gnome/shell] +favorite-apps = ['chromium-browser.desktop', 'firefox.desktop', 'gnome-terminal.desktop', 'nautilus.desktop'] +``` + +把這些步驟改成 ansible 語法,再派送到client ,重開機之後就可以正確顯示設定好的「我的最愛」了 + + + + diff --git a/content/post/ubuntu-dconf-proxy-settings.md b/content/post/ubuntu-dconf-proxy-settings.md new file mode 100644 index 00000000..8b2bcd7e --- /dev/null +++ b/content/post/ubuntu-dconf-proxy-settings.md @@ -0,0 +1,84 @@ +--- +title: "[筆記] ubuntu 18.04 透過 dconf 修改系統 proxy / modify system proxy with dconf in ubuntu 18.04" +date: 2019-10-31T11:08:54+08:00 +draft: false +noSummary: false +categories: ['筆記'] +image: https://h.cowbay.org/images/post-default-7.jpg +tags: ['dconf'] +author: "Eric Chang" +keywords: + - docnf + - ubuntu + - proxy +--- + +最近在準備升級client 的作業系統,從 ubuntu 14.04 準備升級到 18.04 或明年的 20.04 + +因為公司政策的關係,所以現在要連接internet ,需要申請 + +然後 user 再去系統的proxy 設定新增一個 PAC 檔 + +但是這個動作其實是去叫NetworkManager 這個服務 + +可是在18.04 上,我會把這個服務關掉,因為他會干擾我的DNS設定 + +所以想試試看有沒有辦法不使用 NetworkManager 服務 + +又能夠在 user level 修改 proxy 參數 + +就想到了用 dconf 來做 + + + +dconf 是在 ubuntu 底下很好用的工具 + +可以用來觀察、修改使用者層級(user level)的系統設定\ + +不過有一些語法要注意 + +簡單說一下用法 + +觀察user level 系統變數的變化 + +開啟terminal 輸入以下指令 + +``` +dconf watch / +``` + +這個可以觀察user到底修改了些什麼 + +只要是透過右上角的系統設定修改的值 + +這個指令都可以觀察到,非常好用 + +當找到了要修改的 KEY + +就可以用 + +``` +dconf read/write KEY +``` + +比如說我要修改proxy + +我先用 dconf watch / 抓到了KEY是 /system/proxy/host + +那我就可以用 +``` +dconf write /system/proxy/http/host "'192.168.1.7'" +dconf write /system/proxy/http/port '3128' +``` +來把系統的http proxy 改成 192.168.1.7:3128 + +要注意的是,上面的 host 是字串,要用``` "''" ```包起來 + +下面的只是數字,就不用外面的``` "" ``` 了 + +不過這修改好像還是必須要NetworkManager 生效才行 + +還需要再測試看看 + + + diff --git a/public/about/index.html b/public/about/index.html index 76090c5d..1f8a0c85 100644 --- a/public/about/index.html +++ b/public/about/index.html @@ -45,9 +45,9 @@ - + - + @@ -599,7 +599,7 @@ title="pinterest icon"> - + diff --git a/public/categories/ansible/index.html b/public/categories/ansible/index.html index ae5802e4..cecb5703 100644 --- a/public/categories/ansible/index.html +++ b/public/categories/ansible/index.html @@ -45,9 +45,9 @@ - + - + @@ -604,6 +604,6 @@ if (!doNotTrack) { - + diff --git a/public/categories/index.xml b/public/categories/index.xml index 5785a6b4..9589bba8 100644 --- a/public/categories/index.xml +++ b/public/categories/index.xml @@ -6,7 +6,7 @@ Recent content in Categories on MC部落 Hugo -- gohugo.io en-us - Mon, 14 Oct 2019 13:59:58 +0800 + Mon, 16 Dec 2019 13:59:26 +0800 @@ -14,7 +14,7 @@ 筆記 https://h.cowbay.org/categories/%E7%AD%86%E8%A8%98/ - Mon, 14 Oct 2019 13:59:58 +0800 + Mon, 16 Dec 2019 13:59:26 +0800 https://h.cowbay.org/categories/%E7%AD%86%E8%A8%98/ diff --git a/public/categories/linux/index.html b/public/categories/linux/index.html index 4ed825be..c37eae20 100644 --- a/public/categories/linux/index.html +++ b/public/categories/linux/index.html @@ -45,9 +45,9 @@ - + - + @@ -479,6 +479,6 @@ if (!doNotTrack) { - + diff --git a/public/categories/proxmox/index.html b/public/categories/proxmox/index.html index a1d99df9..8a8ae429 100644 --- a/public/categories/proxmox/index.html +++ b/public/categories/proxmox/index.html @@ -45,9 +45,9 @@ - + - + @@ -483,6 +483,6 @@ if (!doNotTrack) { - + diff --git a/public/categories/ps/index.html b/public/categories/ps/index.html index 7944db82..12124f9e 100644 --- a/public/categories/ps/index.html +++ b/public/categories/ps/index.html @@ -45,9 +45,9 @@ - + - + @@ -418,6 +418,6 @@ if (!doNotTrack) { - + diff --git a/public/categories/碎念/index.html b/public/categories/碎念/index.html index 3d59a125..04649b17 100644 --- a/public/categories/碎念/index.html +++ b/public/categories/碎念/index.html @@ -45,9 +45,9 @@ - + - + @@ -481,6 +481,6 @@ if (!doNotTrack) { - + diff --git a/public/categories/筆記/index.html b/public/categories/筆記/index.html index d155f27d..6121fbd8 100644 --- a/public/categories/筆記/index.html +++ b/public/categories/筆記/index.html @@ -21,8 +21,8 @@ "accountablePerson" : "", "copyrightHolder" : "", "copyrightYear" : "2019", - "datePublished": "2019-10-14 13:59:58 \x2b0800 CST", - "dateModified" : "2019-10-14 13:59:58 \x2b0800 CST", + "datePublished": "2019-12-16 13:59:26 \x2b0800 CST", + "dateModified" : "2019-12-16 13:59:26 \x2b0800 CST", "url" : "https:\/\/h.cowbay.org\/categories\/%E7%AD%86%E8%A8%98\/", "wordCount" : "0", "image" : "https://h.cowbay.org%!s(\u003cnil\u003e)"", @@ -45,9 +45,9 @@ - + - + @@ -292,6 +292,136 @@ if (!doNotTrack) { +
+ + + + + + + +
+
+ 16 December + + + + + + / + + + + + + + + + / + + 筆記 + + +
+ +
+
+

這幾天在ansible 寫了一份新的playbook給developer 用

+ +

然後user反映說,希望能在ubuntu 18.04 內建的dock 裏面新增一個gnome-terminal的icon

+ +

我才發現原來之前的寫法不能用在 ubuntu 18.04 上

+ +

只好又弄了一份出來

+ + +
+
+
+
+ + + + + + + + + + +
+ + + + + + + +
+
+ 31 October + + + + + + / + + + + + + + + + / + + 筆記 + + +
+ +
+
+

最近在準備升級client 的作業系統,從 ubuntu 14.04 準備升級到 18.04 或明年的 20.04

+ +

因為公司政策的關係,所以現在要連接internet ,需要申請

+ +

然後 user 再去系統的proxy 設定新增一個 PAC 檔

+ +

但是這個動作其實是去叫NetworkManager 這個服務

+ +

可是在18.04 上,我會把這個服務關掉,因為他會干擾我的DNS設定

+ +

所以想試試看有沒有辦法不使用 NetworkManager 服務

+ +

又能夠在 user level 修改 proxy 參數

+ +

就想到了用 dconf 來做

+ + +
+
+
+
+ + + + + + + + + +
@@ -2441,6 +2571,6 @@ if (!doNotTrack) {
- + diff --git a/public/categories/筆記/index.xml b/public/categories/筆記/index.xml index 688c2a04..c068f08a 100644 --- a/public/categories/筆記/index.xml +++ b/public/categories/筆記/index.xml @@ -6,11 +6,49 @@ Recent content in 筆記 on MC部落 Hugo -- gohugo.io en-us - Mon, 14 Oct 2019 13:59:58 +0800 + Mon, 16 Dec 2019 13:59:26 +0800 + + 在ubuntu 18.04中,透過 dconf 設定系統層級的「我的最愛」/ Add System Wide Favorite Apps in dock with Dconf in ubuntu 18.04 + https://h.cowbay.org/post/add-system-wide-favorite-apps-in-dconf/ + Mon, 16 Dec 2019 13:59:26 +0800 + + https://h.cowbay.org/post/add-system-wide-favorite-apps-in-dconf/ + <p>這幾天在ansible 寫了一份新的playbook給developer 用</p> + +<p>然後user反映說,希望能在ubuntu 18.04 內建的dock 裏面新增一個gnome-terminal的icon</p> + +<p>我才發現原來之前的寫法不能用在 ubuntu 18.04 上</p> + +<p>只好又弄了一份出來</p> + + + + [筆記] ubuntu 18.04 透過 dconf 修改系統 proxy / modify system proxy with dconf in ubuntu 18.04 + https://h.cowbay.org/post/ubuntu-dconf-proxy-settings/ + Thu, 31 Oct 2019 11:08:54 +0800 + + https://h.cowbay.org/post/ubuntu-dconf-proxy-settings/ + <p>最近在準備升級client 的作業系統,從 ubuntu 14.04 準備升級到 18.04 或明年的 20.04</p> + +<p>因為公司政策的關係,所以現在要連接internet ,需要申請</p> + +<p>然後 user 再去系統的proxy 設定新增一個 PAC 檔</p> + +<p>但是這個動作其實是去叫NetworkManager 這個服務</p> + +<p>可是在18.04 上,我會把這個服務關掉,因為他會干擾我的DNS設定</p> + +<p>所以想試試看有沒有辦法不使用 NetworkManager 服務</p> + +<p>又能夠在 user level 修改 proxy 參數</p> + +<p>就想到了用 dconf 來做</p> + + [筆記] 超強的ALL-in-One VPN Server streisand / Awesome All in One Vpn Server Streisand https://h.cowbay.org/post/awesome-all-in-one-vpn-server-streisand/ diff --git a/public/categories/群暉/index.html b/public/categories/群暉/index.html index bce084f3..b2a33370 100644 --- a/public/categories/群暉/index.html +++ b/public/categories/群暉/index.html @@ -45,9 +45,9 @@ - + - + @@ -487,6 +487,6 @@ if (!doNotTrack) { - + diff --git a/public/contact/index.html b/public/contact/index.html index fb77f753..c9b2dacc 100644 --- a/public/contact/index.html +++ b/public/contact/index.html @@ -45,9 +45,9 @@ - + - + @@ -455,7 +455,7 @@ if (!doNotTrack) { - + diff --git a/public/gallery/sammy93/index.html b/public/gallery/sammy93/index.html index decb0809..9f9b1e44 100644 --- a/public/gallery/sammy93/index.html +++ b/public/gallery/sammy93/index.html @@ -45,9 +45,9 @@ - + - + @@ -594,7 +594,7 @@ title="pinterest icon"> - + diff --git a/public/images/paid.png b/public/images/paid.png new file mode 100644 index 0000000000000000000000000000000000000000..23eb2c3b3c14248265dc826f73fb792ab55cb4f0 GIT binary patch literal 44548 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¨oH@blXrE{ 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 MGt{Vl>hS*m00V5=1ONa4 literal 0 HcmV?d00001 diff --git a/public/index.html b/public/index.html index ad2d3cc7..6310ec54 100644 --- a/public/index.html +++ b/public/index.html @@ -22,8 +22,8 @@ "accountablePerson" : "", "copyrightHolder" : "", "copyrightYear" : "2019", - "datePublished": "2019-10-14 13:59:58 \x2b0800 CST", - "dateModified" : "2019-10-14 13:59:58 \x2b0800 CST", + "datePublished": "2019-12-16 13:59:26 \x2b0800 CST", + "dateModified" : "2019-12-16 13:59:26 \x2b0800 CST", "url" : "https:\/\/h.cowbay.org\/", "wordCount" : "0", "image" : "https://h.cowbay.org%!s(\u003cnil\u003e)"", @@ -46,9 +46,9 @@ - + - + @@ -288,12 +288,12 @@ if (!doNotTrack) { - +
- 14 October + 16 December @@ -315,20 +315,20 @@ if (!doNotTrack) {
-

最近上班閒得發慌,沒事就上 github 找看看有沒有什麼好玩的專案

+

這幾天在ansible 寫了一份新的playbook給developer 用

-

就不小心發現了這個 streisand

+

然後user反映說,希望能在ubuntu 18.04 內建的dock 裏面新增一個gnome-terminal的icon

-

https://github.com/StreisandEffect/streisand

+

我才發現原來之前的寫法不能用在 ubuntu 18.04 上

-

玩了一下,發現這根本就是終極的VPN Server solution ..

+

只好又弄了一份出來

- +
@@ -346,12 +346,12 @@ if (!doNotTrack) { - +
- 04 October + 31 October @@ -367,22 +367,34 @@ if (!doNotTrack) { / - + 筆記
-

這兩天在找關於在 ubuntu 中做搜尋的軟體

+

最近在準備升級client 的作業系統,從 ubuntu 14.04 準備升級到 18.04 或明年的 20.04

-

意外找到一個非常好用的工具 ulauncher

+

因為公司政策的關係,所以現在要連接internet ,需要申請

- +

然後 user 再去系統的proxy 設定新增一個 PAC 檔

+ +

但是這個動作其實是去叫NetworkManager 這個服務

+ +

可是在18.04 上,我會把這個服務關掉,因為他會干擾我的DNS設定

+ +

所以想試試看有沒有辦法不使用 NetworkManager 服務

+ +

又能夠在 user level 修改 proxy 參數

+ +

就想到了用 dconf 來做

+ +
@@ -400,12 +412,12 @@ if (!doNotTrack) { - +
- 20 September + 14 October @@ -427,24 +439,20 @@ if (!doNotTrack) {
-

最近都在弄postgresql

- -

備份、還原測試得差不多了,就等著看到時候要用什麼方式

- -

前幾天看到 pg_auto_failover 這個postgresql 的extension

+

最近上班閒得發慌,沒事就上 github 找看看有沒有什麼好玩的專案

-

https://github.com/citusdata/pg_auto_failover

+

就不小心發現了這個 streisand

-

感覺挺不錯的,看起來設定很簡單,雖然之前已經測試了 keepalived 做 HA

+

https://github.com/StreisandEffect/streisand

-

不過,反正當作練功嘛,多測試一套也不錯!

+

玩了一下,發現這根本就是終極的VPN Server solution ..

- +
@@ -462,12 +470,12 @@ if (!doNotTrack) { - +
- 10 September + 04 October @@ -483,22 +491,22 @@ if (!doNotTrack) { / - 筆記 +
-

前幾天在淘寶上買了個 SSK 的USB 3.1 Gen2 (type-c) NVME SSD 外接盒 -手邊也剛好有一條多的intel 600p nvme ssd 就順手來做個比較 -目標是看看有沒有可能直接用外接的SSD來跑postgresql

+

這兩天在找關於在 ubuntu 中做搜尋的軟體

- +

意外找到一個非常好用的工具 ulauncher

+ +
@@ -516,12 +524,12 @@ if (!doNotTrack) { - +
- 06 September + 20 September @@ -543,18 +551,24 @@ if (!doNotTrack) {
-

前面測試了用pgbarman / pgbackrest 來備份 postgresql

+

最近都在弄postgresql

+ +

備份、還原測試得差不多了,就等著看到時候要用什麼方式

+ +

前幾天看到 pg_auto_failover 這個postgresql 的extension

+ +

https://github.com/citusdata/pg_auto_failover

-

這次改從system file level 來下手

+

感覺挺不錯的,看起來設定很簡單,雖然之前已經測試了 keepalived 做 HA

-

採用zfs 的快照來備份、還原postgresql 資料庫

+

不過,反正當作練功嘛,多測試一套也不錯!

- +
@@ -802,7 +816,7 @@ if (!doNotTrack) { - + diff --git a/public/index.xml b/public/index.xml index af853b7c..e9faf155 100644 --- a/public/index.xml +++ b/public/index.xml @@ -6,11 +6,49 @@ Recent content on MC部落 Hugo -- gohugo.io en-us - Mon, 14 Oct 2019 13:59:58 +0800 + Mon, 16 Dec 2019 13:59:26 +0800 + + 在ubuntu 18.04中,透過 dconf 設定系統層級的「我的最愛」/ Add System Wide Favorite Apps in dock with Dconf in ubuntu 18.04 + https://h.cowbay.org/post/add-system-wide-favorite-apps-in-dconf/ + Mon, 16 Dec 2019 13:59:26 +0800 + + https://h.cowbay.org/post/add-system-wide-favorite-apps-in-dconf/ + <p>這幾天在ansible 寫了一份新的playbook給developer 用</p> + +<p>然後user反映說,希望能在ubuntu 18.04 內建的dock 裏面新增一個gnome-terminal的icon</p> + +<p>我才發現原來之前的寫法不能用在 ubuntu 18.04 上</p> + +<p>只好又弄了一份出來</p> + + + + [筆記] ubuntu 18.04 透過 dconf 修改系統 proxy / modify system proxy with dconf in ubuntu 18.04 + https://h.cowbay.org/post/ubuntu-dconf-proxy-settings/ + Thu, 31 Oct 2019 11:08:54 +0800 + + https://h.cowbay.org/post/ubuntu-dconf-proxy-settings/ + <p>最近在準備升級client 的作業系統,從 ubuntu 14.04 準備升級到 18.04 或明年的 20.04</p> + +<p>因為公司政策的關係,所以現在要連接internet ,需要申請</p> + +<p>然後 user 再去系統的proxy 設定新增一個 PAC 檔</p> + +<p>但是這個動作其實是去叫NetworkManager 這個服務</p> + +<p>可是在18.04 上,我會把這個服務關掉,因為他會干擾我的DNS設定</p> + +<p>所以想試試看有沒有辦法不使用 NetworkManager 服務</p> + +<p>又能夠在 user level 修改 proxy 參數</p> + +<p>就想到了用 dconf 來做</p> + + [筆記] 超強的ALL-in-One VPN Server streisand / Awesome All in One Vpn Server Streisand https://h.cowbay.org/post/awesome-all-in-one-vpn-server-streisand/ diff --git a/public/page/2/index.html b/public/page/2/index.html index db5347a6..29fb6586 100644 --- a/public/page/2/index.html +++ b/public/page/2/index.html @@ -22,8 +22,8 @@ "accountablePerson" : "", "copyrightHolder" : "", "copyrightYear" : "2019", - "datePublished": "2019-10-14 13:59:58 \x2b0800 CST", - "dateModified" : "2019-10-14 13:59:58 \x2b0800 CST", + "datePublished": "2019-12-16 13:59:26 \x2b0800 CST", + "dateModified" : "2019-12-16 13:59:26 \x2b0800 CST", "url" : "https:\/\/h.cowbay.org\/", "wordCount" : "0", "image" : "https://h.cowbay.org%!s(\u003cnil\u003e)"", @@ -46,9 +46,9 @@ - + - + @@ -288,12 +288,12 @@ if (!doNotTrack) { - +
- 05 September + 10 September @@ -315,14 +315,16 @@ if (!doNotTrack) {
-

這兩天在測試pgbackrest ,簡單筆記一下測試狀況

+

前幾天在淘寶上買了個 SSK 的USB 3.1 Gen2 (type-c) NVME SSD 外接盒 +手邊也剛好有一條多的intel 600p nvme ssd 就順手來做個比較 +目標是看看有沒有可能直接用外接的SSD來跑postgresql

- +
@@ -340,12 +342,12 @@ if (!doNotTrack) { - +
- 23 August + 06 September @@ -367,14 +369,18 @@ if (!doNotTrack) {
@@ -392,12 +398,12 @@ if (!doNotTrack) { - +
- 23 August + 05 September @@ -419,20 +425,14 @@ if (!doNotTrack) {
@@ -450,12 +450,12 @@ if (!doNotTrack) { - +
- 20 August + 23 August @@ -477,20 +477,14 @@ if (!doNotTrack) {
-

因為老闆說要試試看用GPU 來跑postgresql 威力

- -

手邊剛好有一張 geforce gt 720

- -

一開始沒想太多,看到有這張卡的驅動程式,然後CUDA也有支援

- -

就直接從桌機拔下來,接去LAB Server ,然後就開始一連串的難關了…

+

這篇繼續講 pgbarman 透過 rsync/ssh 來備份 postgresql 資料庫的方式

- +
@@ -508,12 +502,12 @@ if (!doNotTrack) { - +
- 16 August + 23 August @@ -535,26 +529,20 @@ if (!doNotTrack) {
-

最近一直在玩 wireguard ,先前把各個分公司和總部的VPN 改用 wireguard 建立

- -

想說再打個VPN tunnel 來當跳板連 ptt 好了

- -

因為wireguard 建立很簡單,而且又可以指定想要繞出去的路由,不會影響原本的網路環境

- -

本來是在vultr 的VPS上面建立這個tunnel

+

很久以前就有看到這個用來備份postgresql 的 pgbarman

-

但是那台VPS連去ptt 很頓,卡卡的

+

https://www.pgbarman.org/

-

所以改用google cloud platform 的free tier 來做

+

前幾天老闆在slack 上面又提到,所以這次就花了點時間來玩玩看

-

反正只是拿來當跳板,不會有什麼流量、運算產生,可以一直保持免費的狀態

+

不過呢,雖然有弄起來,但是還真不知道有些問題是怎麼解決的…

- +
@@ -804,7 +792,7 @@ if (!doNotTrack) { - + diff --git a/public/page/3/index.html b/public/page/3/index.html index 7c2c0b59..df878b5e 100644 --- a/public/page/3/index.html +++ b/public/page/3/index.html @@ -22,8 +22,8 @@ "accountablePerson" : "", "copyrightHolder" : "", "copyrightYear" : "2019", - "datePublished": "2019-10-14 13:59:58 \x2b0800 CST", - "dateModified" : "2019-10-14 13:59:58 \x2b0800 CST", + "datePublished": "2019-12-16 13:59:26 \x2b0800 CST", + "dateModified" : "2019-12-16 13:59:26 \x2b0800 CST", "url" : "https:\/\/h.cowbay.org\/", "wordCount" : "0", "image" : "https://h.cowbay.org%!s(\u003cnil\u003e)"", @@ -46,9 +46,9 @@ - + - + @@ -288,12 +288,12 @@ if (!doNotTrack) { - +
- 13 August + 20 August @@ -315,24 +315,20 @@ if (!doNotTrack) {
-

因為實在受夠了現在用的 openwrt + strongswan 建立 IPSec VPN

+

因為老闆說要試試看用GPU 來跑postgresql 威力

-

雖然說其實沒有什麼不好,但是畢竟不是我建立的,而當初的文件也都不見了

+

手邊剛好有一張 geforce gt 720

-

完全沒辦法了解當時設計的邏輯,造成後續debug 困難

+

一開始沒想太多,看到有這張卡的驅動程式,然後CUDA也有支援

-

可以想像一下,一台VPN router ping 不到remote、ping不到internet、甚至ping不到自己 是要怎麼debug !?(翻桌

- -

之前買了兩台edgerouter X 拿來玩了一下 wireguard,感覺還不錯,不過只有測試到點對點

- -

這次試試看躲在gateway後面,看看能不能建立多點的VPN環境

+

就直接從桌機拔下來,接去LAB Server ,然後就開始一連串的難關了…

- +
@@ -350,12 +346,12 @@ if (!doNotTrack) { - +
- 06 August + 16 August @@ -377,32 +373,26 @@ if (!doNotTrack) {
-

之前總部和分公司之間 是用buffalo 的小AP 灌 openwrt

+

最近一直在玩 wireguard ,先前把各個分公司和總部的VPN 改用 wireguard 建立

-

然後用strongswan 來打 IPSEC site to site VPN

+

想說再打個VPN tunnel 來當跳板連 ptt 好了

-

config 看起來不是很難 (只是看起來)

+

因為wireguard 建立很簡單,而且又可以指定想要繞出去的路由,不會影響原本的網路環境

-

但是實際上已經找不到當初的文件

+

本來是在vultr 的VPS上面建立這個tunnel

-

所以要維護很困難(光那些RSA KEY 就不知道為何、如何產生)

+

但是那台VPS連去ptt 很頓,卡卡的

-

後來採購了兩台edgerouter X 做測試

+

所以改用google cloud platform 的free tier 來做

-

也用openvpn 成功的建立了 site to site VPN

- -

本來想說 openvpn 已經夠簡單了

- -

今天看到文章說用wireguard 可以更簡單

+

反正只是拿來當跳板,不會有什麼流量、運算產生,可以一直保持免費的狀態

-

於是研究了一下,發現還真的很簡單!

- - +
@@ -420,12 +410,12 @@ if (!doNotTrack) { - +
- 05 August + 13 August @@ -441,31 +431,30 @@ if (!doNotTrack) { / - ansible + 筆記
-

之前為了能夠在執行完 ansible playbook 後,能有個log 可以看

+

因為實在受夠了現在用的 openwrt + strongswan 建立 IPSec VPN

-

所以在每次執行的時候,都要加入 tee 的指令

+

雖然說其實沒有什麼不好,但是畢竟不是我建立的,而當初的文件也都不見了

-

像是

+

完全沒辦法了解當時設計的邏輯,造成後續debug 困難

-
ANSIBLE_CONFIG=/home/D/ansiblecontrol/ansible.cfg /usr/local/bin/ansible-playbook  /home/D/ansiblecontrol/playbook.user_client.yml --vault-password-file=/home/D/ansiblecontrol/vault.passwd -i /home/D/ansiblecontrol/inventory/production -f1 --limit tyuserclients |tee /tmp/tyuserclients.log
-
+

可以想像一下,一台VPN router ping 不到remote、ping不到internet、甚至ping不到自己 是要怎麼debug !?(翻桌

-

一直都是放在crontab 裡面執行,也就沒有去管他

+

之前買了兩台edgerouter X 拿來玩了一下 wireguard,感覺還不錯,不過只有測試到點對點

-

反正也沒有人關心結果怎樣 (攤手

+

這次試試看躲在gateway後面,看看能不能建立多點的VPN環境

- +
@@ -483,12 +472,12 @@ if (!doNotTrack) { - +
- 31 July + 06 August @@ -510,28 +499,32 @@ if (!doNotTrack) {
-

最近有個任務,需要大量安裝client

+

之前總部和分公司之間 是用buffalo 的小AP 灌 openwrt

-

想用PXE來處理,只要user開機按F12(acer 桌機) 選擇PXE Boot

+

然後用strongswan 來打 IPSEC site to site VPN

+ +

config 看起來不是很難 (只是看起來)

+ +

但是實際上已經找不到當初的文件

-

然後選擇OS版本,就可以自動進行安裝

+

所以要維護很困難(光那些RSA KEY 就不知道為何、如何產生)

-

安裝完成後,會自動重新開機,接著就用ansible來做user環境設定

+

後來採購了兩台edgerouter X 做測試

-

PXE的部份本來是沒有什麼問題,自動安裝系統的部份都做好了

+

也用openvpn 成功的建立了 site to site VPN

-

可是因為這次的量比較多,想說讓每一台在完成PXE安裝後的第一次重開機

+

本來想說 openvpn 已經夠簡單了

-

就送出一封郵件來通知我,說已經完成安裝,可以執行ansible 了

+

今天看到文章說用wireguard 可以更簡單

-

看似很簡單的一件事情,卻搞了我兩天….

+

於是研究了一下,發現還真的很簡單!

- +
@@ -549,12 +542,12 @@ if (!doNotTrack) { - +
- 23 July + 05 August @@ -576,20 +569,25 @@ if (!doNotTrack) {
-

因為工作上的需要,要修改client端的 /etc/environment 檔案

+

之前為了能夠在執行完 ansible playbook 後,能有個log 可以看

+ +

所以在每次執行的時候,都要加入 tee 的指令

+ +

像是

-

在有權限使用proxy 服務的user的環境中,加入proxy 的設定

+
ANSIBLE_CONFIG=/home/D/ansiblecontrol/ansible.cfg /usr/local/bin/ansible-playbook  /home/D/ansiblecontrol/playbook.user_client.yml --vault-password-file=/home/D/ansiblecontrol/vault.passwd -i /home/D/ansiblecontrol/inventory/production -f1 --limit tyuserclients |tee /tmp/tyuserclients.log
+
-

原本的清單中,有host/user/ip 這幾個值可以拿來判斷

+

一直都是放在crontab 裡面執行,也就沒有去管他

-

proxy server 那邊是採用ip 來控制,所以這邊也跟著用 ip 來判斷要不要修改 /etc/environment

+

反正也沒有人關心結果怎樣 (攤手

- +
@@ -841,7 +839,7 @@ if (!doNotTrack) { - + diff --git a/public/page/4/index.html b/public/page/4/index.html index 9c7797c4..7fb72089 100644 --- a/public/page/4/index.html +++ b/public/page/4/index.html @@ -22,8 +22,8 @@ "accountablePerson" : "", "copyrightHolder" : "", "copyrightYear" : "2019", - "datePublished": "2019-10-14 13:59:58 \x2b0800 CST", - "dateModified" : "2019-10-14 13:59:58 \x2b0800 CST", + "datePublished": "2019-12-16 13:59:26 \x2b0800 CST", + "dateModified" : "2019-12-16 13:59:26 \x2b0800 CST", "url" : "https:\/\/h.cowbay.org\/", "wordCount" : "0", "image" : "https://h.cowbay.org%!s(\u003cnil\u003e)"", @@ -46,9 +46,9 @@ - + - + @@ -288,12 +288,12 @@ if (!doNotTrack) { - +
- 01 July + 31 July @@ -309,24 +309,34 @@ if (!doNotTrack) { / - Ansible + 筆記
-

在ansible中,關於如何引用自定義的變數,一直讓我很頭疼

+

最近有個任務,需要大量安裝client

-

尤其是有牽涉到從外部導入yaml檔案時,更是常常讓我不知道到底該怎麼抓出想要的變數

+

想用PXE來處理,只要user開機按F12(acer 桌機) 選擇PXE Boot

-

這次還是用selectattr 來處理,希望下次能夠記得…

+

然後選擇OS版本,就可以自動進行安裝

- +

安裝完成後,會自動重新開機,接著就用ansible來做user環境設定

+ +

PXE的部份本來是沒有什麼問題,自動安裝系統的部份都做好了

+ +

可是因為這次的量比較多,想說讓每一台在完成PXE安裝後的第一次重開機

+ +

就送出一封郵件來通知我,說已經完成安裝,可以執行ansible 了

+ +

看似很簡單的一件事情,卻搞了我兩天….

+ +
@@ -344,12 +354,12 @@ if (!doNotTrack) { - +
- 20 June + 23 July @@ -365,28 +375,26 @@ if (!doNotTrack) { / - 筆記 + ansible
-

之前在LAN/windows環境下,一直都是用ultravnc/winvnc/tigervnc之類的VNC軟體

+

因為工作上的需要,要修改client端的 /etc/environment 檔案

-

但是如果要過 internet ,就會碰到各種開port的問題

+

在有權限使用proxy 服務的user的環境中,加入proxy 的設定

-

在這種環境下,就有了當時 teamviewer 的橫空出世

+

原本的清單中,有host/user/ip 這幾個值可以拿來判斷

-

解決了開PORT的問題,讓被控端(通常是資訊技術相對弱勢,需要接受幫助的一方)不需要懂太多

+

proxy server 那邊是採用ip 來控制,所以這邊也跟著用 ip 來判斷要不要修改 /etc/environment

-

只要下載teamviewer被控端,開啟後報ID 給協助者就好了

- - +
@@ -404,12 +412,12 @@ if (!doNotTrack) { - +
- 17 June + 01 July @@ -425,30 +433,24 @@ if (!doNotTrack) { / - Proxmox + Ansible
-

前幾天接的一個case

- -

因為費用的關係,所以沒有考慮用傳統定義上的伺服器(DELL R640)

- -

改採用比較高階一點的洋垃圾,規格大概是 Intel E5-2680V2 x2 + 64G RAM + 128G SSD x2 (OS) + 960G SSD x4 (raid 10 , zfs)

- -

storage 選擇QNAP NAS TS-932X + 960G SSD x 4 (raid 10 , NFS) + QNAP 10G Switch QSW-1280C-8C

+

在ansible中,關於如何引用自定義的變數,一直讓我很頭疼

-

既然storage這邊選用了10G的機種,伺服器上當然也要增加10G網卡

+

尤其是有牽涉到從外部導入yaml檔案時,更是常常讓我不知道到底該怎麼抓出想要的變數

-

一樣,成本考量,就不用INTEL 了,買了這張 ASUS 10G 網卡

+

這次還是用selectattr 來處理,希望下次能夠記得…

- +
@@ -466,12 +468,12 @@ if (!doNotTrack) { - +
- 21 May + 20 June @@ -493,16 +495,22 @@ if (!doNotTrack) {
-

最近一直在玩一些docker,不過老是會碰到歪果扔寫的東西,時區都不一致

+

之前在LAN/windows環境下,一直都是用ultravnc/winvnc/tigervnc之類的VNC軟體

+ +

但是如果要過 internet ,就會碰到各種開port的問題

+ +

在這種環境下,就有了當時 teamviewer 的橫空出世

-

有的用 UTC,有的用localtime,就是沒碰到用 Asia/Taipei 的….

+

解決了開PORT的問題,讓被控端(通常是資訊技術相對弱勢,需要接受幫助的一方)不需要懂太多

- +

只要下載teamviewer被控端,開啟後報ID 給協助者就好了

+ +
@@ -520,12 +528,12 @@ if (!doNotTrack) { - +
- 17 May + 17 June @@ -541,26 +549,30 @@ if (!doNotTrack) { / - linux + Proxmox
-

工作上常會需要用ssh登入遠端主機檢查LOG,有必要的時候,還要把log複製回本機來處理。

+

前幾天接的一個case

-

以前都是傻傻的用 scp 傳檔案

+

因為費用的關係,所以沒有考慮用傳統定義上的伺服器(DELL R640)

-

之前就記得有這個xclip/xsel 可以用,但是一直沒有弄清楚怎麼執行

+

改採用比較高階一點的洋垃圾,規格大概是 Intel E5-2680V2 x2 + 64G RAM + 128G SSD x2 (OS) + 960G SSD x4 (raid 10 , zfs)

-

早上研究了一下,順便做個筆記。

+

storage 選擇QNAP NAS TS-932X + 960G SSD x 4 (raid 10 , NFS) + QNAP 10G Switch QSW-1280C-8C

- +

既然storage這邊選用了10G的機種,伺服器上當然也要增加10G網卡

+ +

一樣,成本考量,就不用INTEL 了,買了這張 ASUS 10G 網卡

+ +
@@ -814,7 +826,7 @@ if (!doNotTrack) { - + diff --git a/public/page/5/index.html b/public/page/5/index.html index 27a2d164..772321e1 100644 --- a/public/page/5/index.html +++ b/public/page/5/index.html @@ -22,8 +22,8 @@ "accountablePerson" : "", "copyrightHolder" : "", "copyrightYear" : "2019", - "datePublished": "2019-10-14 13:59:58 \x2b0800 CST", - "dateModified" : "2019-10-14 13:59:58 \x2b0800 CST", + "datePublished": "2019-12-16 13:59:26 \x2b0800 CST", + "dateModified" : "2019-12-16 13:59:26 \x2b0800 CST", "url" : "https:\/\/h.cowbay.org\/", "wordCount" : "0", "image" : "https://h.cowbay.org%!s(\u003cnil\u003e)"", @@ -46,9 +46,9 @@ - + - + @@ -288,12 +288,12 @@ if (!doNotTrack) { - +
- 23 April + 21 May @@ -315,22 +315,16 @@ if (!doNotTrack) {
-

最近因為一直碰到硬碟故障的問題,算起來那一批同時購買的5X顆 seagate 2T硬碟,已經有一半以上故障返修了….

- -

然後又因為一直沒有添購新的硬碟,只能用這些快過保/已過保的撐著

- -

所以最近不斷的在更換機器內的硬碟,而且還沒有熱插拔!

+

最近一直在玩一些docker,不過老是會碰到歪果扔寫的東西,時區都不一致

-

也導致原本負責處理盤點資產的同事困擾,因為跟手邊的紀錄已經對不起來了

- -

然後就變成要對資產的時候,需要一台一台登入,然後去下不同的指令,取得想要的硬體資訊,超級麻煩的!

+

有的用 UTC,有的用localtime,就是沒碰到用 Asia/Taipei 的….

- +
@@ -348,12 +342,12 @@ if (!doNotTrack) { - +
- 23 April + 17 May @@ -369,26 +363,26 @@ if (!doNotTrack) { / - 筆記 + linux
-

今天發生一件有點詭異的事情,本來應該要經過某個指令才會產生的檔案

+

工作上常會需要用ssh登入遠端主機檢查LOG,有必要的時候,還要把log複製回本機來處理。

-

居然不知為何自己產生了,在我記憶中沒有去執行過那個指令

+

以前都是傻傻的用 scp 傳檔案

-

翻了一下 bash_history ,裡面也只有下過哪些指令,沒有紀錄時間,完全沒有參考價值(攤手)

+

之前就記得有這個xclip/xsel 可以用,但是一直沒有弄清楚怎麼執行

-

所以翻了一下網路,至少把這兩台主要跑ansible的機器的log功能補上紀錄所有指令以及時間的部份

+

早上研究了一下,順便做個筆記。

- +
@@ -406,12 +400,12 @@ if (!doNotTrack) { - +
- 01 April + 23 April @@ -433,18 +427,22 @@ if (!doNotTrack) {
-

今天把其中一台proxmox 加上10G 光纖網卡,準備和另一台proxmox 組成10G 環境進行測試

+

最近因為一直碰到硬碟故障的問題,算起來那一批同時購買的5X顆 seagate 2T硬碟,已經有一半以上故障返修了….

-

想說把本機的zpool 拆掉,重新建立一個raid0 的空間來做clone/migrate

+

然後又因為一直沒有添購新的硬碟,只能用這些快過保/已過保的撐著

-

可是一直出現device busy的錯誤訊息

+

所以最近不斷的在更換機器內的硬碟,而且還沒有熱插拔!

- +

也導致原本負責處理盤點資產的同事困擾,因為跟手邊的紀錄已經對不起來了

+ +

然後就變成要對資產的時候,需要一台一台登入,然後去下不同的指令,取得想要的硬體資訊,超級麻煩的!

+ +
@@ -462,12 +460,12 @@ if (!doNotTrack) { - +
- 27 March + 23 April @@ -489,16 +487,20 @@ if (!doNotTrack) {
-

公司的一台老伺服器空間不足了,要執行指令都會中斷,所以想要擴充空間。

+

今天發生一件有點詭異的事情,本來應該要經過某個指令才會產生的檔案

+ +

居然不知為何自己產生了,在我記憶中沒有去執行過那個指令

+ +

翻了一下 bash_history ,裡面也只有下過哪些指令,沒有紀錄時間,完全沒有參考價值(攤手)

-

看起來不難搞,事實上…..

+

所以翻了一下網路,至少把這兩台主要跑ansible的機器的log功能補上紀錄所有指令以及時間的部份

- +
@@ -516,12 +518,12 @@ if (!doNotTrack) { - +
- 20 March + 01 April @@ -535,21 +537,26 @@ if (!doNotTrack) { + / + + 筆記 + +
-

今天老闆出國,發slack說手機不能寄信,看了一下,似乎是因為用GMAIL的APP來收信

+

今天把其中一台proxmox 加上10G 光纖網卡,準備和另一台proxmox 組成10G 環境進行測試

-

然後google 不知道跟人家改了什麼,結果不接受原本的認證了… WTF ….

+

想說把本機的zpool 拆掉,重新建立一個raid0 的空間來做clone/migrate

-

然後,這問題應該很久了,結果現在才在講 ….

+

可是一直出現device busy的錯誤訊息

- +
@@ -805,7 +812,7 @@ if (!doNotTrack) { - + diff --git a/public/page/6/index.html b/public/page/6/index.html index b258e9c0..d77ecd0c 100644 --- a/public/page/6/index.html +++ b/public/page/6/index.html @@ -22,8 +22,8 @@ "accountablePerson" : "", "copyrightHolder" : "", "copyrightYear" : "2019", - "datePublished": "2019-10-14 13:59:58 \x2b0800 CST", - "dateModified" : "2019-10-14 13:59:58 \x2b0800 CST", + "datePublished": "2019-12-16 13:59:26 \x2b0800 CST", + "dateModified" : "2019-12-16 13:59:26 \x2b0800 CST", "url" : "https:\/\/h.cowbay.org\/", "wordCount" : "0", "image" : "https://h.cowbay.org%!s(\u003cnil\u003e)"", @@ -46,9 +46,9 @@ - + - + @@ -288,12 +288,12 @@ if (!doNotTrack) { - +
- 11 March + 27 March @@ -315,20 +315,16 @@ if (!doNotTrack) {
-

最近要開始測試client安裝 ubuntu 18.04 的 ansible playbook

- -

因為要不斷的修正,所以想到一直有在自己電腦上執行的timeshift這個軟體

- -

可以很簡單快速的備份、恢復系統狀態

+

公司的一台老伺服器空間不足了,要執行指令都會中斷,所以想要擴充空間。

-

可是不知道為什麼,在ubuntu 18.04 上安裝就是會發生錯誤….

+

看起來不難搞,事實上…..

- +
@@ -346,12 +342,12 @@ if (!doNotTrack) { - +
- 16 January + 20 March @@ -365,24 +361,21 @@ if (!doNotTrack) { - / - - 筆記 - -
-

買了一張 DELL 6/iR 低階的raid 卡

+

今天老闆出國,發slack說手機不能寄信,看了一下,似乎是因為用GMAIL的APP來收信

-

來測試把系統裝在硬體做的RAID上,結果沒想到居然不能開機…

+

然後google 不知道跟人家改了什麼,結果不接受原本的認證了… WTF ….

- +

然後,這問題應該很久了,結果現在才在講 ….

+ +
@@ -400,12 +393,12 @@ if (!doNotTrack) { - +
- 16 January + 11 March @@ -427,18 +420,20 @@ if (!doNotTrack) {
-

最近在弄一台機器,想要把ubuntu 18.04 安裝在software raid上

+

最近要開始測試client安裝 ubuntu 18.04 的 ansible playbook

-

因為新開的機器大部分都是在proxmox上,所以很少碰實體機器了

+

因為要不斷的修正,所以想到一直有在自己電腦上執行的timeshift這個軟體

-

結果在安裝過程中,做raid碰到一些問題,來紀錄一下

+

可以很簡單快速的備份、恢復系統狀態

- +

可是不知道為什麼,在ubuntu 18.04 上安裝就是會發生錯誤….

+ +
@@ -456,12 +451,12 @@ if (!doNotTrack) { - +
- 13 December + 16 January @@ -483,20 +478,16 @@ if (!doNotTrack) {
-

這兩天在弄兩台Freenas ,準備當作Proxmox 的Storage & Server Backup

- -

因為伺服器的限制,只能接六個SATA,我接了六個2T的硬碟做raid10

- -

然後把Freenas 安裝在隨身碟上

+

買了一張 DELL 6/iR 低階的raid 卡

-

不過會一直出現Smartd failed to start 的錯誤訊息

+

來測試把系統裝在硬體做的RAID上,結果沒想到居然不能開機…

- +
@@ -514,12 +505,12 @@ if (!doNotTrack) { - +
- 12 December + 16 January @@ -535,28 +526,24 @@ if (!doNotTrack) { / - 碎念 + 筆記
-

最近在做一台老機器的P2V

- -

偏偏user說不能關機,所以我用dd + ssh 做線上移轉

- -

這部份有空再來寫

+

最近在弄一台機器,想要把ubuntu 18.04 安裝在software raid上

-

只是因為原來的設定有用mdadm 做raid1

+

因為新開的機器大部分都是在proxmox上,所以很少碰實體機器了

-

這部份導致移轉過去proxmox 後,會出現raid degrade 導致無法正常開機

+

結果在安裝過程中,做raid碰到一些問題,來紀錄一下

- +
@@ -814,7 +801,7 @@ if (!doNotTrack) { - + diff --git a/public/page/7/index.html b/public/page/7/index.html index 883c895a..8f02191a 100644 --- a/public/page/7/index.html +++ b/public/page/7/index.html @@ -22,8 +22,8 @@ "accountablePerson" : "", "copyrightHolder" : "", "copyrightYear" : "2019", - "datePublished": "2019-10-14 13:59:58 \x2b0800 CST", - "dateModified" : "2019-10-14 13:59:58 \x2b0800 CST", + "datePublished": "2019-12-16 13:59:26 \x2b0800 CST", + "dateModified" : "2019-12-16 13:59:26 \x2b0800 CST", "url" : "https:\/\/h.cowbay.org\/", "wordCount" : "0", "image" : "https://h.cowbay.org%!s(\u003cnil\u003e)"", @@ -46,9 +46,9 @@ - + - + @@ -288,12 +288,12 @@ if (!doNotTrack) { - +
- 07 December + 13 December @@ -315,20 +315,20 @@ if (!doNotTrack) {
-

因為工作的關係,現在很多時間都花在VIM的操作上

+

這兩天在弄兩台Freenas ,準備當作Proxmox 的Storage & Server Backup

-

所以之前花了滿多時間,調整出一個適合自己的VIM環境

+

因為伺服器的限制,只能接六個SATA,我接了六個2T的硬碟做raid10

-

原本的作法是把這個設定好的環境,丟到自己建立的gitea 上面

+

然後把Freenas 安裝在隨身碟上

-

然後每到一台新的機器,就要去clone 下來

+

不過會一直出現Smartd failed to start 的錯誤訊息

- +
@@ -346,12 +346,12 @@ if (!doNotTrack) { - +
- 04 December + 12 December @@ -367,34 +367,28 @@ if (!doNotTrack) { / - 群暉 + 碎念
-

前幾天公司的一台 Synology DS 415+ 發生異常

- -

注意到的時候,四顆硬碟燈號都不斷的在閃爍

+

最近在做一台老機器的P2V

-

但是已經無法登入系統

+

偏偏user說不能關機,所以我用dd + ssh 做線上移轉

-

重開機之後更慘,四顆硬碟燈號全部橘燈恆亮

+

這部份有空再來寫

-

底下的電源藍燈不斷的在閃爍

+

只是因為原來的設定有用mdadm 做raid1

-

雖然我一再表示不希望送修了

- -

一來是已經過保,二來是DS415+ 本身就有intel bug,三來是因為對synology的NAS 實在沒有愛…

- -

不過主管還是希望能夠先問群暉維修的費用多少

+

這部份導致移轉過去proxmox 後,會出現raid degrade 導致無法正常開機

- +
@@ -412,12 +406,12 @@ if (!doNotTrack) { - +
- 30 November + 07 December @@ -439,30 +433,20 @@ if (!doNotTrack) {
-

想做一個 10G 的 LAB 環境出來已經很久了。

- -

只是礙於10G RJ45的卡太貴了,然後光纖的種類又太複雜

- -

如果直接在淘寶購買,很怕會買錯(什麼LC/FC LC/LC 多模單模 單芯雙芯 SFP/SFP+ 又是什麼光模塊的一大堆規格)

- -

所以一直沒有付諸行動。

- -

硬體的工作很久沒碰了,剛好在蝦皮看到有個賣家在賣 mellanox 的X2網卡,以在台灣的價格來說,算很便宜的 (550)

- -

聊了一下,跟他請教了關於線材、光纖模塊的問題,回答也都很快很到位

+

因為工作的關係,現在很多時間都花在VIM的操作上

-

就直接下訂了兩張網卡、兩個光纖模塊、一條LC/LC 光纖線

+

所以之前花了滿多時間,調整出一個適合自己的VIM環境

-

就是到貨有點久,等了兩個禮拜左右,一直到昨天東西才寄到

+

原本的作法是把這個設定好的環境,丟到自己建立的gitea 上面

-

今天就花了點時間測試一下

+

然後每到一台新的機器,就要去clone 下來

- +
@@ -480,12 +464,12 @@ if (!doNotTrack) { - +
- 29 November + 04 December @@ -501,24 +485,34 @@ if (!doNotTrack) { / - 筆記 + 群暉
-

在上一篇 Ansible how to use ‘list’ in yaml file

+

前幾天公司的一台 Synology DS 415+ 發生異常

-

有提到怎麼用 with_items / set_fact 來取得在yaml 檔案中的清單

+

注意到的時候,四顆硬碟燈號都不斷的在閃爍

-

不過就是有點醜

+

但是已經無法登入系統

- +

重開機之後更慘,四顆硬碟燈號全部橘燈恆亮

+ +

底下的電源藍燈不斷的在閃爍

+ +

雖然我一再表示不希望送修了

+ +

一來是已經過保,二來是DS415+ 本身就有intel bug,三來是因為對synology的NAS 實在沒有愛…

+ +

不過主管還是希望能夠先問群暉維修的費用多少

+ +
@@ -536,12 +530,12 @@ if (!doNotTrack) { - +
- 27 November + 30 November @@ -563,57 +557,30 @@ if (!doNotTrack) {
-

這幾天在玩ansible 時,碰到一個問題

- -

假如我有個yaml檔作為資料來源,檔名是 abc.yml

- -

大概長這樣

- -
    "teams": [
-        {
-            "chinese_name": "TEAM1",
-            "description": "TEAM1",
-            "gid": 10125,
-            "location": [
-                "hq"
-            ],
-            "name": "aa",
-            "users": [
-                "chen",
-                "chou",
-                "huani",
-                "yey",
-                "wa"
-            ]
-        },
-        {
-            "chinese_name": "TEAM2",
-            "description": "TEAM2",
-            "gid": 10126,
-            "location": [
-                "hq"
-            ],
-            "name": "bb",
-            "users": [
-                "chhiao",
-                "chgc",
-                "chy",
-                "hsi",
-                "li",
-                "li",
-                "chgchi"
-            ]
-        }
-		]
-		
-
+

想做一個 10G 的 LAB 環境出來已經很久了。

+ +

只是礙於10G RJ45的卡太貴了,然後光纖的種類又太複雜

+ +

如果直接在淘寶購買,很怕會買錯(什麼LC/FC LC/LC 多模單模 單芯雙芯 SFP/SFP+ 又是什麼光模塊的一大堆規格)

+ +

所以一直沒有付諸行動。

- +

硬體的工作很久沒碰了,剛好在蝦皮看到有個賣家在賣 mellanox 的X2網卡,以在台灣的價格來說,算很便宜的 (550)

+ +

聊了一下,跟他請教了關於線材、光纖模塊的問題,回答也都很快很到位

+ +

就直接下訂了兩張網卡、兩個光纖模塊、一條LC/LC 光纖線

+ +

就是到貨有點久,等了兩個禮拜左右,一直到昨天東西才寄到

+ +

今天就花了點時間測試一下

+ +
@@ -869,7 +836,7 @@ if (!doNotTrack) { - + diff --git a/public/page/8/index.html b/public/page/8/index.html index f5a28684..6ce59032 100644 --- a/public/page/8/index.html +++ b/public/page/8/index.html @@ -22,8 +22,8 @@ "accountablePerson" : "", "copyrightHolder" : "", "copyrightYear" : "2019", - "datePublished": "2019-10-14 13:59:58 \x2b0800 CST", - "dateModified" : "2019-10-14 13:59:58 \x2b0800 CST", + "datePublished": "2019-12-16 13:59:26 \x2b0800 CST", + "dateModified" : "2019-12-16 13:59:26 \x2b0800 CST", "url" : "https:\/\/h.cowbay.org\/", "wordCount" : "0", "image" : "https://h.cowbay.org%!s(\u003cnil\u003e)"", @@ -46,9 +46,9 @@ - + - + @@ -288,12 +288,12 @@ if (!doNotTrack) { - +
- 15 November + 29 November @@ -315,20 +315,18 @@ if (!doNotTrack) {
-

最近在測試metabase,記得幾個月前就有測試過

+

在上一篇 Ansible how to use ‘list’ in yaml file

-

但是當時的界面和現在的樣子差很多,看樣子改版還滿勤勞的

+

有提到怎麼用 with_items / set_fact 來取得在yaml 檔案中的清單

-

所以這次改用docker來建立,根本五分鐘不到就建好了(挖鼻孔)

- -

不過呢,很討厭的是,一進去就發現語系採用的是簡體中文

+

不過就是有點醜

- +
@@ -346,12 +344,12 @@ if (!doNotTrack) { - +
- 12 November + 27 November @@ -373,20 +371,57 @@ if (!doNotTrack) {
-

因為工作上的需求,有個資料庫需要開放給不同team的人去存取

- -

雖然都是在同一台機器上的同一個資料庫

- -

但是希望能夠不同team的人用不同的資料庫使用者

- -

這樣萬一出事,會比較好抓兇手??

+

這幾天在玩ansible 時,碰到一個問題

+ +

假如我有個yaml檔作為資料來源,檔名是 abc.yml

+ +

大概長這樣

+ +
    "teams": [
+        {
+            "chinese_name": "TEAM1",
+            "description": "TEAM1",
+            "gid": 10125,
+            "location": [
+                "hq"
+            ],
+            "name": "aa",
+            "users": [
+                "chen",
+                "chou",
+                "huani",
+                "yey",
+                "wa"
+            ]
+        },
+        {
+            "chinese_name": "TEAM2",
+            "description": "TEAM2",
+            "gid": 10126,
+            "location": [
+                "hq"
+            ],
+            "name": "bb",
+            "users": [
+                "chhiao",
+                "chgc",
+                "chy",
+                "hsi",
+                "li",
+                "li",
+                "chgchi"
+            ]
+        }
+		]
+		
+
- +
@@ -404,12 +439,12 @@ if (!doNotTrack) { - +
- 08 November + 15 November @@ -431,26 +466,20 @@ if (!doNotTrack) {
-

這是發生在一個夜黑風高的寂寥深夜….. ( What The FXXX … )

- -

來到這個環境之後,有一個很詭異的狀況一直困擾著我

- -

在每個分公司,都會有一台伺服器作為KVM Host

- -

上面跑兩台VM,一台作為ansible controller (目前沒作用)

+

最近在測試metabase,記得幾個月前就有測試過

-

另一台作為這邊所謂的 “Build Server”

+

但是當時的界面和現在的樣子差很多,看樣子改版還滿勤勞的

-

用途包含了DHCP Server / Proxy Server (squid3) / APT Proxy (squid-deb-proxy)

+

所以這次改用docker來建立,根本五分鐘不到就建好了(挖鼻孔)

-

問題就發生在這台 Build Server 上…

+

不過呢,很討厭的是,一進去就發現語系採用的是簡體中文

- +
@@ -468,12 +497,12 @@ if (!doNotTrack) { - +
- 06 November + 12 November @@ -495,19 +524,20 @@ if (!doNotTrack) {
-

最近在重新規劃前人留下的backup爛攤子 -各個伺服器統一備份到一台backup storage -想說如果每天能夠看到backup storage的磁碟用量的話 -就可以抓出備份空間成長速度、推估需要多大的磁碟空間 -找了一些工具,結果發現 durep 這個 ubuntu 內建的工具 -基本上可以滿足我的需求

- - +

因為工作上的需求,有個資料庫需要開放給不同team的人去存取

+ +

雖然都是在同一台機器上的同一個資料庫

+ +

但是希望能夠不同team的人用不同的資料庫使用者

+ +

這樣萬一出事,會比較好抓兇手??

+ +
@@ -525,12 +555,12 @@ if (!doNotTrack) { - +
- 06 November + 08 November @@ -552,30 +582,26 @@ if (!doNotTrack) {
-

Bookstack 是一套非常好用的線上”筆記”系統

- -

他用圖書館/書本的概念,讓使用者可以建立自己的”圖書館”

- -

同時在圖書館內建立不同的”書籍”

+

這是發生在一個夜黑風高的寂寥深夜….. ( What The FXXX … )

-

而且支援 Markdown 語法

+

來到這個環境之後,有一個很詭異的狀況一直困擾著我

-

其他的方式像是在nextcloud上編輯 md檔案(字體太小)

+

在每個分公司,都會有一台伺服器作為KVM Host

-

或者是boostnote(只能在本機)

+

上面跑兩台VM,一台作為ansible controller (目前沒作用)

-

都或多或少有點小缺點

+

另一台作為這邊所謂的 “Build Server”

-

Bookstack則是沒有這些問題,不過就是系統「大」了點…

+

用途包含了DHCP Server / Proxy Server (squid3) / APT Proxy (squid-deb-proxy)

-

不過還好有人做成docker的方式來啟動,大大的降低了建置的難度(其實也沒有很難啦,只是要裝個PHP、弄個DB而已)

+

問題就發生在這台 Build Server 上…

- +
@@ -829,7 +855,7 @@ if (!doNotTrack) { - + diff --git a/public/page/9/index.html b/public/page/9/index.html index f2ed4dcf..25f53478 100644 --- a/public/page/9/index.html +++ b/public/page/9/index.html @@ -22,8 +22,8 @@ "accountablePerson" : "", "copyrightHolder" : "", "copyrightYear" : "2019", - "datePublished": "2019-10-14 13:59:58 \x2b0800 CST", - "dateModified" : "2019-10-14 13:59:58 \x2b0800 CST", + "datePublished": "2019-12-16 13:59:26 \x2b0800 CST", + "dateModified" : "2019-12-16 13:59:26 \x2b0800 CST", "url" : "https:\/\/h.cowbay.org\/", "wordCount" : "0", "image" : "https://h.cowbay.org%!s(\u003cnil\u003e)"", @@ -46,9 +46,9 @@ - + - + @@ -283,6 +283,131 @@ if (!doNotTrack) { +
+ + + + + + + +
+
+ 06 November + + + + / + + + + + + + + + + / + + 筆記 + + +
+ +
+
+

最近在重新規劃前人留下的backup爛攤子 +各個伺服器統一備份到一台backup storage +想說如果每天能夠看到backup storage的磁碟用量的話 +就可以抓出備份空間成長速度、推估需要多大的磁碟空間 +找了一些工具,結果發現 durep 這個 ubuntu 內建的工具 +基本上可以滿足我的需求

+ + +
+
+
+
+ + + + + + + + +
+ + + + + + + +
+
+ 06 November + + + + / + + + + + + + + + + / + + 筆記 + + +
+ +
+
+

Bookstack 是一套非常好用的線上”筆記”系統

+ +

他用圖書館/書本的概念,讓使用者可以建立自己的”圖書館”

+ +

同時在圖書館內建立不同的”書籍”

+ +

而且支援 Markdown 語法

+ +

其他的方式像是在nextcloud上編輯 md檔案(字體太小)

+ +

或者是boostnote(只能在本機)

+ +

都或多或少有點小缺點

+ +

Bookstack則是沒有這些問題,不過就是系統「大」了點…

+ +

不過還好有人做成docker的方式來啟動,大大的降低了建置的難度(其實也沒有很難啦,只是要裝個PHP、弄個DB而已)

+ + +
+
+
+
+ + + + + + + +
@@ -585,7 +710,7 @@ if (!doNotTrack) {
- + diff --git a/public/post/10g-lab-using-proxmox-and-mellanox/index.html b/public/post/10g-lab-using-proxmox-and-mellanox/index.html index c764e204..9bedaef3 100644 --- a/public/post/10g-lab-using-proxmox-and-mellanox/index.html +++ b/public/post/10g-lab-using-proxmox-and-mellanox/index.html @@ -45,9 +45,9 @@ - + - + @@ -814,7 +814,7 @@ title="pinterest icon">
- + diff --git a/public/post/add-system-wide-favorite-apps-in-dconf/index.html b/public/post/add-system-wide-favorite-apps-in-dconf/index.html new file mode 100644 index 00000000..ee33fd71 --- /dev/null +++ b/public/post/add-system-wide-favorite-apps-in-dconf/index.html @@ -0,0 +1,656 @@ + + + + + + + + 在ubuntu 18.04中,透過 dconf 設定系統層級的「我的最愛」/ Add System Wide Favorite Apps in dock with Dconf in ubuntu 18.04 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to content + + +
+ + + + + + + +
+ +
+ + + + +
+

在ubuntu 18.04中,透過 dconf 設定系統層級的「我的最愛」/ Add System Wide Favorite Apps in dock with Dconf in ubuntu 18.04

+
+
+
+
+

這幾天在ansible 寫了一份新的playbook給developer 用

+ +

然後user反映說,希望能在ubuntu 18.04 內建的dock 裏面新增一個gnome-terminal的icon

+ +

我才發現原來之前的寫法不能用在 ubuntu 18.04 上

+ +

只好又弄了一份出來

+ +

有些task 我是直接從原本給14.04 client 用的直接套用過來

+ +

也沒有去特別注意

+ +

今天重新檢查才發現,舊的寫法是給 14.04 的unity用

+ +

但是 18.04 已經不用 unity 了,所以在設定dock這個task 雖然有成功,但是沒做用 +(手術成功,但病人掛了?)

+ +

原來的寫法是在 /usr/share/glib-2.0/schemas/ 底下新增一個設定檔

+ +

然後用dconf 去產生設定

+ +

原本的內容長這樣

+ +
[com.canonical.Unity.Launcher]                                                                                                
+favorites=['application://ubiquity.desktop', 'application://launchers.desktop', 'application://nautilus.desktop', 'application
+://gnome-terminal.desktop', 'application://google-chrome.desktop', 'application://goldendict.desktop', 'application://stardict
+.desktop', 'application://libreoffice-writer.desktop', 'application://libreoffice-calc.desktop', 'unity://running-apps', 'unit
+y://expo-icon', 'unity://devices']
+
+ +

就如同前面所說,因爲18.04捨棄了 unity,所以這個config 等於沒有用了

+ +

新的步驟比較麻煩一點點

+ +

大概是

+ +
    +
  1. mkdir -p /etc/dconf/profile
  2. + +
  3. vim /etc/dconf/profile/user

    + +
    #This line allows the user to change the default favorites later.
    +user-db:user
    +#This line defines a system database named msb
    +system-db:msb
    +
  4. + +
  5. mkdir -p /etc/dconf/db/msb.d

  6. + +
  7. vim /etc/dconf/db/msb.d/00_msb_settings

    + +
    # Define default favorite apps
    +[org/gnome/shell]
    +favorite-apps = ['chromium-browser.desktop', 'firefox.desktop', 'gnome-terminal.desktop', 'nautilus.desktop']
    +
  8. +
+ +

把這些步驟改成 ansible 語法,再派送到client ,重開機之後就可以正確顯示設定好的「我的最愛」了

+
+
+ + + + +
+ +
+ + Eric Chang + + + Written by: +
+
+ + +

塵世裡一個迷途小書僮

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +comments powered by Disqus + + + + + + +
+
+ + + + + +
+ + + +
+ + + + + + diff --git a/public/post/another-way-to-keep-ansible-log/index.html b/public/post/another-way-to-keep-ansible-log/index.html index 0df849fb..c3b2af67 100644 --- a/public/post/another-way-to-keep-ansible-log/index.html +++ b/public/post/another-way-to-keep-ansible-log/index.html @@ -45,9 +45,9 @@ - + - + @@ -614,7 +614,7 @@ title="pinterest icon"> - + diff --git a/public/post/ansible-run-task-depends-on-ipaddr/index.html b/public/post/ansible-run-task-depends-on-ipaddr/index.html index 227ddeba..6b8fbffa 100644 --- a/public/post/ansible-run-task-depends-on-ipaddr/index.html +++ b/public/post/ansible-run-task-depends-on-ipaddr/index.html @@ -45,9 +45,9 @@ - + - + @@ -697,7 +697,7 @@ title="pinterest icon"> - + diff --git a/public/post/ansible-selectattr-filter/index.html b/public/post/ansible-selectattr-filter/index.html index 2d749d37..8fc97f84 100644 --- a/public/post/ansible-selectattr-filter/index.html +++ b/public/post/ansible-selectattr-filter/index.html @@ -45,9 +45,9 @@ - + - + @@ -617,7 +617,7 @@ title="pinterest icon"> - + diff --git a/public/post/ansible-selectattr-from-list-in-dictionary/index.html b/public/post/ansible-selectattr-from-list-in-dictionary/index.html index dc684730..0aacd30f 100644 --- a/public/post/ansible-selectattr-from-list-in-dictionary/index.html +++ b/public/post/ansible-selectattr-from-list-in-dictionary/index.html @@ -45,9 +45,9 @@ - + - + @@ -672,7 +672,7 @@ title="pinterest icon"> - + diff --git a/public/post/ansible-selectattr/index.html b/public/post/ansible-selectattr/index.html index 897bb1d7..629c24e0 100644 --- a/public/post/ansible-selectattr/index.html +++ b/public/post/ansible-selectattr/index.html @@ -45,9 +45,9 @@ - + - + @@ -728,7 +728,7 @@ title="pinterest icon"> - + diff --git a/public/post/awesome-all-in-one-vpn-server-streisand/index.html b/public/post/awesome-all-in-one-vpn-server-streisand/index.html index 2f6f975b..290b2574 100644 --- a/public/post/awesome-all-in-one-vpn-server-streisand/index.html +++ b/public/post/awesome-all-in-one-vpn-server-streisand/index.html @@ -45,9 +45,9 @@ - + - + @@ -629,7 +629,7 @@ title="pinterest icon"> - + diff --git a/public/post/backup-restore-postgresql-with-pgbackrest/index.html b/public/post/backup-restore-postgresql-with-pgbackrest/index.html index ce4a01a4..e6fee720 100644 --- a/public/post/backup-restore-postgresql-with-pgbackrest/index.html +++ b/public/post/backup-restore-postgresql-with-pgbackrest/index.html @@ -45,9 +45,9 @@ - + - + @@ -854,7 +854,7 @@ title="pinterest icon"> - + diff --git a/public/post/bencmark-with-external-internal-nvme-ssd-and-external-sata-ssd/index.html b/public/post/bencmark-with-external-internal-nvme-ssd-and-external-sata-ssd/index.html index 754b16f8..8baf5842 100644 --- a/public/post/bencmark-with-external-internal-nvme-ssd-and-external-sata-ssd/index.html +++ b/public/post/bencmark-with-external-internal-nvme-ssd-and-external-sata-ssd/index.html @@ -45,9 +45,9 @@ - + - + @@ -996,7 +996,7 @@ title="pinterest icon"> - + diff --git a/public/post/bookstack-docker/index.html b/public/post/bookstack-docker/index.html index 0557baad..ae88f1ba 100644 --- a/public/post/bookstack-docker/index.html +++ b/public/post/bookstack-docker/index.html @@ -45,9 +45,9 @@ - + - + @@ -683,7 +683,7 @@ title="pinterest icon"> - + diff --git a/public/post/change-preferred-language-in-firefox/index.html b/public/post/change-preferred-language-in-firefox/index.html index eac9a706..14e04404 100644 --- a/public/post/change-preferred-language-in-firefox/index.html +++ b/public/post/change-preferred-language-in-firefox/index.html @@ -45,9 +45,9 @@ - + - + @@ -657,7 +657,7 @@ title="pinterest icon"> - + diff --git a/public/post/change-timezone-in-docker/index.html b/public/post/change-timezone-in-docker/index.html index ad6ba64f..b0bfbf72 100644 --- a/public/post/change-timezone-in-docker/index.html +++ b/public/post/change-timezone-in-docker/index.html @@ -45,9 +45,9 @@ - + - + @@ -721,7 +721,7 @@ title="pinterest icon"> - + diff --git a/public/post/command_to_test_main_ssl/index.html b/public/post/command_to_test_main_ssl/index.html index 0b576f7f..6a43319b 100644 --- a/public/post/command_to_test_main_ssl/index.html +++ b/public/post/command_to_test_main_ssl/index.html @@ -45,9 +45,9 @@ - + - + @@ -798,7 +798,7 @@ title="pinterest icon"> - + diff --git a/public/post/copy_role_in_pgsql/index.html b/public/post/copy_role_in_pgsql/index.html index c9c9d7e3..21613b96 100644 --- a/public/post/copy_role_in_pgsql/index.html +++ b/public/post/copy_role_in_pgsql/index.html @@ -45,9 +45,9 @@ - + - + @@ -615,7 +615,7 @@ title="pinterest icon"> - + diff --git a/public/post/create-portable-vim-environment/index.html b/public/post/create-portable-vim-environment/index.html index e811d367..7b5f855d 100644 --- a/public/post/create-portable-vim-environment/index.html +++ b/public/post/create-portable-vim-environment/index.html @@ -45,9 +45,9 @@ - + - + @@ -628,7 +628,7 @@ title="pinterest icon"> - + diff --git a/public/post/do-no-use-10-0-0-0-private-ipaddr-in-gcp/index.html b/public/post/do-no-use-10-0-0-0-private-ipaddr-in-gcp/index.html index 4dfcb1a0..e39d679a 100644 --- a/public/post/do-no-use-10-0-0-0-private-ipaddr-in-gcp/index.html +++ b/public/post/do-no-use-10-0-0-0-private-ipaddr-in-gcp/index.html @@ -45,9 +45,9 @@ - + - + @@ -683,7 +683,7 @@ title="pinterest icon"> - + diff --git a/public/post/enable-synology-public-ssh/index.html b/public/post/enable-synology-public-ssh/index.html index bc9c72d1..fb3be929 100644 --- a/public/post/enable-synology-public-ssh/index.html +++ b/public/post/enable-synology-public-ssh/index.html @@ -45,9 +45,9 @@ - + - + @@ -701,7 +701,7 @@ title="pinterest icon"> - + diff --git a/public/post/fix-zpool-device-busy-using-dmsetup/index.html b/public/post/fix-zpool-device-busy-using-dmsetup/index.html index 602b8f7f..4b398b33 100644 --- a/public/post/fix-zpool-device-busy-using-dmsetup/index.html +++ b/public/post/fix-zpool-device-busy-using-dmsetup/index.html @@ -45,9 +45,9 @@ - + - + @@ -648,7 +648,7 @@ title="pinterest icon"> - + diff --git a/public/post/incredibly-slow-mdadm-rebuild/index.html b/public/post/incredibly-slow-mdadm-rebuild/index.html index 64016315..774404a4 100644 --- a/public/post/incredibly-slow-mdadm-rebuild/index.html +++ b/public/post/incredibly-slow-mdadm-rebuild/index.html @@ -45,9 +45,9 @@ - + - + @@ -671,7 +671,7 @@ title="pinterest icon"> - + diff --git a/public/post/index.xml b/public/post/index.xml index 53bd0c45..e8f0ae15 100644 --- a/public/post/index.xml +++ b/public/post/index.xml @@ -6,11 +6,49 @@ Recent content in Posts on MC部落 Hugo -- gohugo.io en-us - Mon, 14 Oct 2019 13:59:58 +0800 + Mon, 16 Dec 2019 13:59:26 +0800 + + 在ubuntu 18.04中,透過 dconf 設定系統層級的「我的最愛」/ Add System Wide Favorite Apps in dock with Dconf in ubuntu 18.04 + https://h.cowbay.org/post/add-system-wide-favorite-apps-in-dconf/ + Mon, 16 Dec 2019 13:59:26 +0800 + + https://h.cowbay.org/post/add-system-wide-favorite-apps-in-dconf/ + <p>這幾天在ansible 寫了一份新的playbook給developer 用</p> + +<p>然後user反映說,希望能在ubuntu 18.04 內建的dock 裏面新增一個gnome-terminal的icon</p> + +<p>我才發現原來之前的寫法不能用在 ubuntu 18.04 上</p> + +<p>只好又弄了一份出來</p> + + + + [筆記] ubuntu 18.04 透過 dconf 修改系統 proxy / modify system proxy with dconf in ubuntu 18.04 + https://h.cowbay.org/post/ubuntu-dconf-proxy-settings/ + Thu, 31 Oct 2019 11:08:54 +0800 + + https://h.cowbay.org/post/ubuntu-dconf-proxy-settings/ + <p>最近在準備升級client 的作業系統,從 ubuntu 14.04 準備升級到 18.04 或明年的 20.04</p> + +<p>因為公司政策的關係,所以現在要連接internet ,需要申請</p> + +<p>然後 user 再去系統的proxy 設定新增一個 PAC 檔</p> + +<p>但是這個動作其實是去叫NetworkManager 這個服務</p> + +<p>可是在18.04 上,我會把這個服務關掉,因為他會干擾我的DNS設定</p> + +<p>所以想試試看有沒有辦法不使用 NetworkManager 服務</p> + +<p>又能夠在 user level 修改 proxy 參數</p> + +<p>就想到了用 dconf 來做</p> + + [筆記] 超強的ALL-in-One VPN Server streisand / Awesome All in One Vpn Server Streisand https://h.cowbay.org/post/awesome-all-in-one-vpn-server-streisand/ diff --git a/public/post/install-asus-10g-nic-in-proxmox/index.html b/public/post/install-asus-10g-nic-in-proxmox/index.html index 40f65d13..e324abd1 100644 --- a/public/post/install-asus-10g-nic-in-proxmox/index.html +++ b/public/post/install-asus-10g-nic-in-proxmox/index.html @@ -45,9 +45,9 @@ - + - + @@ -710,7 +710,7 @@ title="pinterest icon"> - + diff --git a/public/post/install-nvidia-driver-cuda-pgstrom-in-ubuntu-1804/index.html b/public/post/install-nvidia-driver-cuda-pgstrom-in-ubuntu-1804/index.html index e4bbd037..06b7eaf3 100644 --- a/public/post/install-nvidia-driver-cuda-pgstrom-in-ubuntu-1804/index.html +++ b/public/post/install-nvidia-driver-cuda-pgstrom-in-ubuntu-1804/index.html @@ -45,9 +45,9 @@ - + - + @@ -848,7 +848,7 @@ title="pinterest icon"> - + diff --git a/public/post/install-timeshift-on-ubuntu1804/index.html b/public/post/install-timeshift-on-ubuntu1804/index.html index 9e4af17c..564e98f2 100644 --- a/public/post/install-timeshift-on-ubuntu1804/index.html +++ b/public/post/install-timeshift-on-ubuntu1804/index.html @@ -45,9 +45,9 @@ - + - + @@ -1173,7 +1173,7 @@ title="pinterest icon"> - + diff --git a/public/post/install-ubuntu1804-on-dell-6ir-raid-controller/index.html b/public/post/install-ubuntu1804-on-dell-6ir-raid-controller/index.html index b9eeba05..ba77d13d 100644 --- a/public/post/install-ubuntu1804-on-dell-6ir-raid-controller/index.html +++ b/public/post/install-ubuntu1804-on-dell-6ir-raid-controller/index.html @@ -45,9 +45,9 @@ - + - + @@ -634,7 +634,7 @@ title="pinterest icon"> - + diff --git a/public/post/inx-collect-detail-hardware-info/index.html b/public/post/inx-collect-detail-hardware-info/index.html index 2104928e..dd460e2d 100644 --- a/public/post/inx-collect-detail-hardware-info/index.html +++ b/public/post/inx-collect-detail-hardware-info/index.html @@ -45,9 +45,9 @@ - + - + @@ -719,7 +719,7 @@ title="pinterest icon"> - + diff --git a/public/post/log-all-bash-commands/index.html b/public/post/log-all-bash-commands/index.html index 129fb1d9..12ae2f7a 100644 --- a/public/post/log-all-bash-commands/index.html +++ b/public/post/log-all-bash-commands/index.html @@ -45,9 +45,9 @@ - + - + @@ -652,7 +652,7 @@ title="pinterest icon"> - + diff --git a/public/post/multiple-site-to-site-vpn-using-wireguard/index.html b/public/post/multiple-site-to-site-vpn-using-wireguard/index.html index 6c58776c..27da2153 100644 --- a/public/post/multiple-site-to-site-vpn-using-wireguard/index.html +++ b/public/post/multiple-site-to-site-vpn-using-wireguard/index.html @@ -45,9 +45,9 @@ - + - + @@ -876,7 +876,7 @@ title="pinterest icon"> - + diff --git a/public/post/nice-du-report-tool-durep/index.html b/public/post/nice-du-report-tool-durep/index.html index cc198f96..e516d268 100644 --- a/public/post/nice-du-report-tool-durep/index.html +++ b/public/post/nice-du-report-tool-durep/index.html @@ -45,9 +45,9 @@ - + - + @@ -651,7 +651,7 @@ title="pinterest icon"> - + diff --git a/public/post/pg_auto_failover_in_ubuntu_1804_psql_11/index.html b/public/post/pg_auto_failover_in_ubuntu_1804_psql_11/index.html index 21e2a9fc..083dcc92 100644 --- a/public/post/pg_auto_failover_in_ubuntu_1804_psql_11/index.html +++ b/public/post/pg_auto_failover_in_ubuntu_1804_psql_11/index.html @@ -45,9 +45,9 @@ - + - + @@ -1570,7 +1570,7 @@ title="pinterest icon"> - + diff --git a/public/post/pgbarman-in-ubuntu-1804-postgresql-10-via-ssh/index.html b/public/post/pgbarman-in-ubuntu-1804-postgresql-10-via-ssh/index.html index 0e82ff92..122a5955 100644 --- a/public/post/pgbarman-in-ubuntu-1804-postgresql-10-via-ssh/index.html +++ b/public/post/pgbarman-in-ubuntu-1804-postgresql-10-via-ssh/index.html @@ -45,9 +45,9 @@ - + - + @@ -740,7 +740,7 @@ title="pinterest icon"> - + diff --git a/public/post/pgbarman-in-ubuntu-1804-postgresql-10/index.html b/public/post/pgbarman-in-ubuntu-1804-postgresql-10/index.html index 0af000d1..d2b90beb 100644 --- a/public/post/pgbarman-in-ubuntu-1804-postgresql-10/index.html +++ b/public/post/pgbarman-in-ubuntu-1804-postgresql-10/index.html @@ -45,9 +45,9 @@ - + - + @@ -904,7 +904,7 @@ title="pinterest icon"> - + diff --git a/public/post/postgresql-backup-restore-using-zfs-snapshot/index.html b/public/post/postgresql-backup-restore-using-zfs-snapshot/index.html index 81758da6..b95cbee0 100644 --- a/public/post/postgresql-backup-restore-using-zfs-snapshot/index.html +++ b/public/post/postgresql-backup-restore-using-zfs-snapshot/index.html @@ -45,9 +45,9 @@ - + - + @@ -1005,7 +1005,7 @@ title="pinterest icon"> - + diff --git a/public/post/recommended-ulauncher-in-ubuntu-1804/index.html b/public/post/recommended-ulauncher-in-ubuntu-1804/index.html index 2120a1c7..181838c6 100644 --- a/public/post/recommended-ulauncher-in-ubuntu-1804/index.html +++ b/public/post/recommended-ulauncher-in-ubuntu-1804/index.html @@ -45,9 +45,9 @@ - + - + @@ -683,7 +683,7 @@ title="pinterest icon"> - + diff --git a/public/post/remote-management-system-meshcentral/index.html b/public/post/remote-management-system-meshcentral/index.html index 92322ccf..f938aae0 100644 --- a/public/post/remote-management-system-meshcentral/index.html +++ b/public/post/remote-management-system-meshcentral/index.html @@ -45,9 +45,9 @@ - + - + @@ -713,7 +713,7 @@ title="pinterest icon"> - + diff --git a/public/post/send-mail-to-notify-after-pxe-install/index.html b/public/post/send-mail-to-notify-after-pxe-install/index.html index 9899e1ff..d07d7361 100644 --- a/public/post/send-mail-to-notify-after-pxe-install/index.html +++ b/public/post/send-mail-to-notify-after-pxe-install/index.html @@ -45,9 +45,9 @@ - + - + @@ -680,7 +680,7 @@ title="pinterest icon"> - + diff --git a/public/post/site-to-site-vpn-using-wireguard-in-two-edgerouters/index.html b/public/post/site-to-site-vpn-using-wireguard-in-two-edgerouters/index.html index cf148265..810add03 100644 --- a/public/post/site-to-site-vpn-using-wireguard-in-two-edgerouters/index.html +++ b/public/post/site-to-site-vpn-using-wireguard-in-two-edgerouters/index.html @@ -45,9 +45,9 @@ - + - + @@ -809,7 +809,7 @@ title="pinterest icon"> - + diff --git a/public/post/smartd-failed-to-start-in-freenas/index.html b/public/post/smartd-failed-to-start-in-freenas/index.html index 0e1ccfc7..9a1a6055 100644 --- a/public/post/smartd-failed-to-start-in-freenas/index.html +++ b/public/post/smartd-failed-to-start-in-freenas/index.html @@ -45,9 +45,9 @@ - + - + @@ -613,7 +613,7 @@ title="pinterest icon"> - + diff --git a/public/post/synology-ds415-repair-cost/index.html b/public/post/synology-ds415-repair-cost/index.html index a5fad04c..2c4cc308 100644 --- a/public/post/synology-ds415-repair-cost/index.html +++ b/public/post/synology-ds415-repair-cost/index.html @@ -45,9 +45,9 @@ - + - + @@ -663,7 +663,7 @@ title="pinterest icon"> - + diff --git a/public/post/transfer-cent62-using-rsync/index.html b/public/post/transfer-cent62-using-rsync/index.html index f7981a81..567392a1 100644 --- a/public/post/transfer-cent62-using-rsync/index.html +++ b/public/post/transfer-cent62-using-rsync/index.html @@ -45,9 +45,9 @@ - + - + @@ -974,7 +974,7 @@ title="pinterest icon"> - + diff --git a/public/post/transfer-file-content-using-xclip-in-terminal/index.html b/public/post/transfer-file-content-using-xclip-in-terminal/index.html index 159eba6d..79268f9f 100644 --- a/public/post/transfer-file-content-using-xclip-in-terminal/index.html +++ b/public/post/transfer-file-content-using-xclip-in-terminal/index.html @@ -45,9 +45,9 @@ - + - + @@ -662,7 +662,7 @@ title="pinterest icon"> - + diff --git a/public/post/ubuntu-1804-install-root-on-raid/index.html b/public/post/ubuntu-1804-install-root-on-raid/index.html index 9e6dd521..f69eb970 100644 --- a/public/post/ubuntu-1804-install-root-on-raid/index.html +++ b/public/post/ubuntu-1804-install-root-on-raid/index.html @@ -45,9 +45,9 @@ - + - + @@ -725,7 +725,7 @@ title="pinterest icon"> - + diff --git a/public/post/ubuntu-dconf-proxy-settings/index.html b/public/post/ubuntu-dconf-proxy-settings/index.html new file mode 100644 index 00000000..502dbab8 --- /dev/null +++ b/public/post/ubuntu-dconf-proxy-settings/index.html @@ -0,0 +1,659 @@ + + + + + + + + [筆記] ubuntu 18.04 透過 dconf 修改系統 proxy / modify system proxy with dconf in ubuntu 18.04 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to content + + +
+ + + + + + + +
+ +
+ + + + +
+

[筆記] ubuntu 18.04 透過 dconf 修改系統 proxy / modify system proxy with dconf in ubuntu 18.04

+
+
+
+
+

最近在準備升級client 的作業系統,從 ubuntu 14.04 準備升級到 18.04 或明年的 20.04

+ +

因為公司政策的關係,所以現在要連接internet ,需要申請

+ +

然後 user 再去系統的proxy 設定新增一個 PAC 檔

+ +

但是這個動作其實是去叫NetworkManager 這個服務

+ +

可是在18.04 上,我會把這個服務關掉,因為他會干擾我的DNS設定

+ +

所以想試試看有沒有辦法不使用 NetworkManager 服務

+ +

又能夠在 user level 修改 proxy 參數

+ +

就想到了用 dconf 來做

+ +

dconf 是在 ubuntu 底下很好用的工具

+ +

可以用來觀察、修改使用者層級(user level)的系統設定

+ +

不過有一些語法要注意

+ +

簡單說一下用法

+ +

觀察user level 系統變數的變化

+ +

開啟terminal 輸入以下指令

+ +
dconf watch /
+
+ +

這個可以觀察user到底修改了些什麼

+ +

只要是透過右上角的系統設定修改的值

+ +

這個指令都可以觀察到,非常好用

+ +

當找到了要修改的 KEY

+ +

就可以用

+ +
dconf read/write KEY
+
+ +

比如說我要修改proxy

+ +

我先用 dconf watch / 抓到了KEY是 /system/proxy/host

+ +

那我就可以用

+ +
dconf write /system/proxy/http/host "'192.168.1.7'"
+dconf write /system/proxy/http/port '3128'
+
+ +

來把系統的http proxy 改成 192.168.1.7:3128

+ +

要注意的是,上面的 host 是字串,要用"''"包起來

+ +

下面的只是數字,就不用外面的""

+ +

不過這修改好像還是必須要NetworkManager 生效才行

+ +

還需要再測試看看

+
+
+ + + + +
+ +
+ + Eric Chang + + + Written by: +
+
+ + +

塵世裡一個迷途小書僮

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +comments powered by Disqus + + + + + + +
+
+ + + + + +
+ + + +
+ + + + + + diff --git a/public/post/weird-client-server-connection/index.html b/public/post/weird-client-server-connection/index.html index 83cef8f7..bd501170 100644 --- a/public/post/weird-client-server-connection/index.html +++ b/public/post/weird-client-server-connection/index.html @@ -45,9 +45,9 @@ - + - + @@ -694,7 +694,7 @@ title="pinterest icon"> - + diff --git a/public/sitemap.xml b/public/sitemap.xml index e4a5f5e7..8129cfb8 100644 --- a/public/sitemap.xml +++ b/public/sitemap.xml @@ -3,42 +3,62 @@ xmlns:xhtml="http://www.w3.org/1999/xhtml"> - https://h.cowbay.org/post/awesome-all-in-one-vpn-server-streisand/ - 2019-10-14T13:59:58+08:00 + https://h.cowbay.org/categories/ + 2019-12-16T13:59:26+08:00 - https://h.cowbay.org/categories/ - 2019-10-14T13:59:58+08:00 + https://h.cowbay.org/tags/dconf/ + 2019-12-16T13:59:26+08:00 https://h.cowbay.org/ - 2019-10-14T13:59:58+08:00 + 2019-12-16T13:59:26+08:00 https://h.cowbay.org/post/ - 2019-10-14T13:59:58+08:00 + 2019-12-16T13:59:26+08:00 https://h.cowbay.org/tags/ - 2019-10-14T13:59:58+08:00 + 2019-12-16T13:59:26+08:00 - https://h.cowbay.org/tags/vpn/ + https://h.cowbay.org/tags/ubuntu/ + 2019-12-16T13:59:26+08:00 + + + + https://h.cowbay.org/post/add-system-wide-favorite-apps-in-dconf/ + 2019-12-16T13:59:26+08:00 + + + + https://h.cowbay.org/categories/%E7%AD%86%E8%A8%98/ + 2019-12-16T13:59:26+08:00 + + + + https://h.cowbay.org/post/ubuntu-dconf-proxy-settings/ + 2019-10-31T11:08:54+08:00 + + + + https://h.cowbay.org/post/awesome-all-in-one-vpn-server-streisand/ 2019-10-14T13:59:58+08:00 - https://h.cowbay.org/tags/wireguard/ + https://h.cowbay.org/tags/vpn/ 2019-10-14T13:59:58+08:00 - https://h.cowbay.org/categories/%E7%AD%86%E8%A8%98/ + https://h.cowbay.org/tags/wireguard/ 2019-10-14T13:59:58+08:00 @@ -142,11 +162,6 @@ 2019-08-13T15:50:31+08:00 - - https://h.cowbay.org/tags/ubuntu/ - 2019-08-13T15:50:31+08:00 - - https://h.cowbay.org/post/site-to-site-vpn-using-wireguard-in-two-edgerouters/ 2019-08-06T17:14:17+08:00 diff --git a/public/tags/10g/index.html b/public/tags/10g/index.html index 890f38fd..b241fdda 100644 --- a/public/tags/10g/index.html +++ b/public/tags/10g/index.html @@ -45,9 +45,9 @@ - + - + @@ -480,6 +480,6 @@ if (!doNotTrack) { - + diff --git a/public/tags/ansible/index.html b/public/tags/ansible/index.html index 859e4cde..1677c7a6 100644 --- a/public/tags/ansible/index.html +++ b/public/tags/ansible/index.html @@ -45,9 +45,9 @@ - + - + @@ -716,6 +716,6 @@ if (!doNotTrack) { - + diff --git a/public/tags/backup/index.html b/public/tags/backup/index.html index b2837d9e..696cb904 100644 --- a/public/tags/backup/index.html +++ b/public/tags/backup/index.html @@ -45,9 +45,9 @@ - + - + @@ -520,6 +520,6 @@ if (!doNotTrack) { - + diff --git a/public/tags/benchmark/index.html b/public/tags/benchmark/index.html index c781c45a..beeb76ca 100644 --- a/public/tags/benchmark/index.html +++ b/public/tags/benchmark/index.html @@ -45,9 +45,9 @@ - + - + @@ -466,6 +466,6 @@ if (!doNotTrack) { - + diff --git a/public/tags/bookstack/index.html b/public/tags/bookstack/index.html index 669d584c..2cf91a8c 100644 --- a/public/tags/bookstack/index.html +++ b/public/tags/bookstack/index.html @@ -45,9 +45,9 @@ - + - + @@ -480,6 +480,6 @@ if (!doNotTrack) { - + diff --git a/public/tags/bsd/index.html b/public/tags/bsd/index.html index 123f007b..5b6cc274 100644 --- a/public/tags/bsd/index.html +++ b/public/tags/bsd/index.html @@ -45,9 +45,9 @@ - + - + @@ -472,6 +472,6 @@ if (!doNotTrack) { - + diff --git a/public/tags/centos/index.html b/public/tags/centos/index.html index 7f9db028..6b972c5b 100644 --- a/public/tags/centos/index.html +++ b/public/tags/centos/index.html @@ -45,9 +45,9 @@ - + - + @@ -466,6 +466,6 @@ if (!doNotTrack) { - + diff --git a/public/tags/dconf/index.html b/public/tags/dconf/index.html new file mode 100644 index 00000000..c6d16587 --- /dev/null +++ b/public/tags/dconf/index.html @@ -0,0 +1,535 @@ + + + + + + + + dconf + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to content + + +
+ +
+

+ Tag: dconf + + + + rss + + +

+
+ +

Posts

+
+ + + +
+ + + + + + + + +
+
+ 16 December 2019 / + + + + + + + + + + + + / + + 筆記 + + +
+ +
+
+

這幾天在ansible 寫了一份新的playbook給developer 用

+ +

然後user反映說,希望能在ubuntu 18.04 內建的dock 裏面新增一個gnome-terminal的icon

+ +

我才發現原來之前的寫法不能用在 ubuntu 18.04 上

+ +

只好又弄了一份出來

+ + +
+
+
+
+ + + +
+ + + + + + + + +
+
+ 31 October 2019 / + + + + + + + + + + + + / + + 筆記 + + +
+ +
+
+

最近在準備升級client 的作業系統,從 ubuntu 14.04 準備升級到 18.04 或明年的 20.04

+ +

因為公司政策的關係,所以現在要連接internet ,需要申請

+ +

然後 user 再去系統的proxy 設定新增一個 PAC 檔

+ +

但是這個動作其實是去叫NetworkManager 這個服務

+ +

可是在18.04 上,我會把這個服務關掉,因為他會干擾我的DNS設定

+ +

所以想試試看有沒有辦法不使用 NetworkManager 服務

+ +

又能夠在 user level 修改 proxy 參數

+ +

就想到了用 dconf 來做

+ + +
+
+
+
+ +
+ +
+ + + +
+ + + + + diff --git a/public/tags/dconf/index.xml b/public/tags/dconf/index.xml new file mode 100644 index 00000000..8db34ae8 --- /dev/null +++ b/public/tags/dconf/index.xml @@ -0,0 +1,53 @@ + + + + dconf on MC部落 + https://h.cowbay.org/tags/dconf/ + Recent content in dconf on MC部落 + Hugo -- gohugo.io + en-us + Mon, 16 Dec 2019 13:59:26 +0800 + + + + + + 在ubuntu 18.04中,透過 dconf 設定系統層級的「我的最愛」/ Add System Wide Favorite Apps in dock with Dconf in ubuntu 18.04 + https://h.cowbay.org/post/add-system-wide-favorite-apps-in-dconf/ + Mon, 16 Dec 2019 13:59:26 +0800 + + https://h.cowbay.org/post/add-system-wide-favorite-apps-in-dconf/ + <p>這幾天在ansible 寫了一份新的playbook給developer 用</p> + +<p>然後user反映說,希望能在ubuntu 18.04 內建的dock 裏面新增一個gnome-terminal的icon</p> + +<p>我才發現原來之前的寫法不能用在 ubuntu 18.04 上</p> + +<p>只好又弄了一份出來</p> + + + + [筆記] ubuntu 18.04 透過 dconf 修改系統 proxy / modify system proxy with dconf in ubuntu 18.04 + https://h.cowbay.org/post/ubuntu-dconf-proxy-settings/ + Thu, 31 Oct 2019 11:08:54 +0800 + + https://h.cowbay.org/post/ubuntu-dconf-proxy-settings/ + <p>最近在準備升級client 的作業系統,從 ubuntu 14.04 準備升級到 18.04 或明年的 20.04</p> + +<p>因為公司政策的關係,所以現在要連接internet ,需要申請</p> + +<p>然後 user 再去系統的proxy 設定新增一個 PAC 檔</p> + +<p>但是這個動作其實是去叫NetworkManager 這個服務</p> + +<p>可是在18.04 上,我會把這個服務關掉,因為他會干擾我的DNS設定</p> + +<p>所以想試試看有沒有辦法不使用 NetworkManager 服務</p> + +<p>又能夠在 user level 修改 proxy 參數</p> + +<p>就想到了用 dconf 來做</p> + + + + \ No newline at end of file diff --git a/public/tags/docker/index.html b/public/tags/docker/index.html index c69c3f7f..24ca9bc7 100644 --- a/public/tags/docker/index.html +++ b/public/tags/docker/index.html @@ -45,9 +45,9 @@ - + - + @@ -528,6 +528,6 @@ if (!doNotTrack) { - + diff --git a/public/tags/du/index.html b/public/tags/du/index.html index da5711b2..65e833de 100644 --- a/public/tags/du/index.html +++ b/public/tags/du/index.html @@ -45,9 +45,9 @@ - + - + @@ -469,6 +469,6 @@ if (!doNotTrack) { - + diff --git a/public/tags/edgerouter/index.html b/public/tags/edgerouter/index.html index 474936b9..f37a38f0 100644 --- a/public/tags/edgerouter/index.html +++ b/public/tags/edgerouter/index.html @@ -45,9 +45,9 @@ - + - + @@ -482,6 +482,6 @@ if (!doNotTrack) { - + diff --git a/public/tags/failover/index.html b/public/tags/failover/index.html index 3613d193..2a560d82 100644 --- a/public/tags/failover/index.html +++ b/public/tags/failover/index.html @@ -45,9 +45,9 @@ - + - + @@ -474,6 +474,6 @@ if (!doNotTrack) { - + diff --git a/public/tags/firefox/index.html b/public/tags/firefox/index.html index d3de000e..63bb7d74 100644 --- a/public/tags/firefox/index.html +++ b/public/tags/firefox/index.html @@ -45,9 +45,9 @@ - + - + @@ -470,6 +470,6 @@ if (!doNotTrack) { - + diff --git a/public/tags/freenas/index.html b/public/tags/freenas/index.html index bf2501f8..46444ba7 100644 --- a/public/tags/freenas/index.html +++ b/public/tags/freenas/index.html @@ -45,9 +45,9 @@ - + - + @@ -470,6 +470,6 @@ if (!doNotTrack) { - + diff --git a/public/tags/index.xml b/public/tags/index.xml index 56a46f7b..a8812628 100644 --- a/public/tags/index.xml +++ b/public/tags/index.xml @@ -6,11 +6,29 @@ Recent content in Tags on MC部落 Hugo -- gohugo.io en-us - Mon, 14 Oct 2019 13:59:58 +0800 + Mon, 16 Dec 2019 13:59:26 +0800 + + dconf + https://h.cowbay.org/tags/dconf/ + Mon, 16 Dec 2019 13:59:26 +0800 + + https://h.cowbay.org/tags/dconf/ + + + + + ubuntu + https://h.cowbay.org/tags/ubuntu/ + Mon, 16 Dec 2019 13:59:26 +0800 + + https://h.cowbay.org/tags/ubuntu/ + + + vpn https://h.cowbay.org/tags/vpn/ @@ -119,15 +137,6 @@ - - ubuntu - https://h.cowbay.org/tags/ubuntu/ - Tue, 13 Aug 2019 15:50:31 +0800 - - https://h.cowbay.org/tags/ubuntu/ - - - edgerouter https://h.cowbay.org/tags/edgerouter/ diff --git a/public/tags/inventory/index.html b/public/tags/inventory/index.html index abc0ffa0..fced4df1 100644 --- a/public/tags/inventory/index.html +++ b/public/tags/inventory/index.html @@ -45,9 +45,9 @@ - + - + @@ -472,6 +472,6 @@ if (!doNotTrack) { - + diff --git a/public/tags/launcher/index.html b/public/tags/launcher/index.html index 058e6eee..da33ec34 100644 --- a/public/tags/launcher/index.html +++ b/public/tags/launcher/index.html @@ -45,9 +45,9 @@ - + - + @@ -466,6 +466,6 @@ if (!doNotTrack) { - + diff --git a/public/tags/linux/index.html b/public/tags/linux/index.html index 39166d7a..a8f66c44 100644 --- a/public/tags/linux/index.html +++ b/public/tags/linux/index.html @@ -45,9 +45,9 @@ - + - + @@ -826,6 +826,6 @@ if (!doNotTrack) { - + diff --git a/public/tags/log/index.html b/public/tags/log/index.html index 63c2fc1e..01106e84 100644 --- a/public/tags/log/index.html +++ b/public/tags/log/index.html @@ -45,9 +45,9 @@ - + - + @@ -470,6 +470,6 @@ if (!doNotTrack) { - + diff --git a/public/tags/mdadm/index.html b/public/tags/mdadm/index.html index 648f9b9c..b3c872f8 100644 --- a/public/tags/mdadm/index.html +++ b/public/tags/mdadm/index.html @@ -45,9 +45,9 @@ - + - + @@ -472,6 +472,6 @@ if (!doNotTrack) { - + diff --git a/public/tags/mellanox/index.html b/public/tags/mellanox/index.html index e8819aa0..226225ff 100644 --- a/public/tags/mellanox/index.html +++ b/public/tags/mellanox/index.html @@ -45,9 +45,9 @@ - + - + @@ -480,6 +480,6 @@ if (!doNotTrack) { - + diff --git a/public/tags/meshcentral/index.html b/public/tags/meshcentral/index.html index 095d726d..5294dfda 100644 --- a/public/tags/meshcentral/index.html +++ b/public/tags/meshcentral/index.html @@ -45,9 +45,9 @@ - + - + @@ -472,6 +472,6 @@ if (!doNotTrack) { - + diff --git a/public/tags/metabase/index.html b/public/tags/metabase/index.html index 72ee50ce..9b3c01aa 100644 --- a/public/tags/metabase/index.html +++ b/public/tags/metabase/index.html @@ -45,9 +45,9 @@ - + - + @@ -470,6 +470,6 @@ if (!doNotTrack) { - + diff --git a/public/tags/nas/index.html b/public/tags/nas/index.html index 34865da5..a33bd0ab 100644 --- a/public/tags/nas/index.html +++ b/public/tags/nas/index.html @@ -45,9 +45,9 @@ - + - + @@ -537,6 +537,6 @@ if (!doNotTrack) { - + diff --git a/public/tags/nvidia/index.html b/public/tags/nvidia/index.html index 4cbe8bdc..a650630e 100644 --- a/public/tags/nvidia/index.html +++ b/public/tags/nvidia/index.html @@ -45,9 +45,9 @@ - + - + @@ -470,6 +470,6 @@ if (!doNotTrack) { - + diff --git a/public/tags/nvme/index.html b/public/tags/nvme/index.html index 8fa149ef..564fc1f2 100644 --- a/public/tags/nvme/index.html +++ b/public/tags/nvme/index.html @@ -45,9 +45,9 @@ - + - + @@ -466,6 +466,6 @@ if (!doNotTrack) { - + diff --git a/public/tags/pgbarman/index.html b/public/tags/pgbarman/index.html index 159ace0a..f941ec6e 100644 --- a/public/tags/pgbarman/index.html +++ b/public/tags/pgbarman/index.html @@ -45,9 +45,9 @@ - + - + @@ -516,6 +516,6 @@ if (!doNotTrack) { - + diff --git a/public/tags/postgresql/index.html b/public/tags/postgresql/index.html index 0d3f2de2..1c9bf758 100644 --- a/public/tags/postgresql/index.html +++ b/public/tags/postgresql/index.html @@ -45,9 +45,9 @@ - + - + @@ -716,6 +716,6 @@ if (!doNotTrack) { - + diff --git a/public/tags/proxmox/index.html b/public/tags/proxmox/index.html index 7c3ce10a..99142088 100644 --- a/public/tags/proxmox/index.html +++ b/public/tags/proxmox/index.html @@ -45,9 +45,9 @@ - + - + @@ -474,6 +474,6 @@ if (!doNotTrack) { - + diff --git a/public/tags/ps/index.html b/public/tags/ps/index.html index 41787ba8..7724a3c9 100644 --- a/public/tags/ps/index.html +++ b/public/tags/ps/index.html @@ -45,9 +45,9 @@ - + - + @@ -418,6 +418,6 @@ if (!doNotTrack) { - + diff --git a/public/tags/psql/index.html b/public/tags/psql/index.html index 42a26881..3db1f45e 100644 --- a/public/tags/psql/index.html +++ b/public/tags/psql/index.html @@ -45,9 +45,9 @@ - + - + @@ -470,6 +470,6 @@ if (!doNotTrack) { - + diff --git a/public/tags/pxe/index.html b/public/tags/pxe/index.html index 89085d1a..4be6fe61 100644 --- a/public/tags/pxe/index.html +++ b/public/tags/pxe/index.html @@ -45,9 +45,9 @@ - + - + @@ -478,6 +478,6 @@ if (!doNotTrack) { - + diff --git a/public/tags/raid/index.html b/public/tags/raid/index.html index ae8ffe66..47a5bdbf 100644 --- a/public/tags/raid/index.html +++ b/public/tags/raid/index.html @@ -45,9 +45,9 @@ - + - + @@ -468,6 +468,6 @@ if (!doNotTrack) { - + diff --git a/public/tags/remote/index.html b/public/tags/remote/index.html index 49c65549..acb54db4 100644 --- a/public/tags/remote/index.html +++ b/public/tags/remote/index.html @@ -45,9 +45,9 @@ - + - + @@ -472,6 +472,6 @@ if (!doNotTrack) { - + diff --git a/public/tags/restore/index.html b/public/tags/restore/index.html index f493057a..7e3c2a5a 100644 --- a/public/tags/restore/index.html +++ b/public/tags/restore/index.html @@ -45,9 +45,9 @@ - + - + @@ -468,6 +468,6 @@ if (!doNotTrack) { - + diff --git a/public/tags/ssh/index.html b/public/tags/ssh/index.html index 74b0537d..1b0540fb 100644 --- a/public/tags/ssh/index.html +++ b/public/tags/ssh/index.html @@ -45,9 +45,9 @@ - + - + @@ -477,6 +477,6 @@ if (!doNotTrack) { - + diff --git a/public/tags/synology/index.html b/public/tags/synology/index.html index e8430c1b..b68bd9e7 100644 --- a/public/tags/synology/index.html +++ b/public/tags/synology/index.html @@ -45,9 +45,9 @@ - + - + @@ -537,6 +537,6 @@ if (!doNotTrack) { - + diff --git a/public/tags/timezone/index.html b/public/tags/timezone/index.html index 267f440e..599c10bc 100644 --- a/public/tags/timezone/index.html +++ b/public/tags/timezone/index.html @@ -45,9 +45,9 @@ - + - + @@ -466,6 +466,6 @@ if (!doNotTrack) { - + diff --git a/public/tags/ubuntu/index.html b/public/tags/ubuntu/index.html index 2d2648c5..4218ea20 100644 --- a/public/tags/ubuntu/index.html +++ b/public/tags/ubuntu/index.html @@ -21,8 +21,8 @@ "accountablePerson" : "", "copyrightHolder" : "", "copyrightYear" : "2019", - "datePublished": "2019-08-13 15:50:31 \x2b0800 CST", - "dateModified" : "2019-08-13 15:50:31 \x2b0800 CST", + "datePublished": "2019-12-16 13:59:26 \x2b0800 CST", + "dateModified" : "2019-12-16 13:59:26 \x2b0800 CST", "url" : "https:\/\/h.cowbay.org\/tags\/ubuntu\/", "wordCount" : "0", "image" : "https://h.cowbay.org%!s(\u003cnil\u003e)"", @@ -45,9 +45,9 @@ - + - + @@ -290,6 +290,58 @@ if (!doNotTrack) { + + + + +
+
+ 16 December 2019 / + + + + + + + + + + + + / + + 筆記 + + +
+ +
+
+

這幾天在ansible 寫了一份新的playbook給developer 用

+ +

然後user反映說,希望能在ubuntu 18.04 內建的dock 裏面新增一個gnome-terminal的icon

+ +

我才發現原來之前的寫法不能用在 ubuntu 18.04 上

+ +

只好又弄了一份出來

+ + +
+
+
+ + + + +
+ + + + @@ -341,8 +393,8 @@ if (!doNotTrack) { -
- +
+ @@ -401,8 +453,8 @@ if (!doNotTrack) { -
- +
+ @@ -453,8 +505,8 @@ if (!doNotTrack) { -
- +
+ @@ -501,8 +553,8 @@ if (!doNotTrack) { -
- +
+ @@ -551,8 +603,8 @@ if (!doNotTrack) { -
- +
+ @@ -742,6 +794,6 @@ if (!doNotTrack) {
- + diff --git a/public/tags/ubuntu/index.xml b/public/tags/ubuntu/index.xml index dcacc265..e89cf5b6 100644 --- a/public/tags/ubuntu/index.xml +++ b/public/tags/ubuntu/index.xml @@ -6,11 +6,26 @@ Recent content in ubuntu on MC部落 Hugo -- gohugo.io en-us - Tue, 13 Aug 2019 15:50:31 +0800 + Mon, 16 Dec 2019 13:59:26 +0800 + + 在ubuntu 18.04中,透過 dconf 設定系統層級的「我的最愛」/ Add System Wide Favorite Apps in dock with Dconf in ubuntu 18.04 + https://h.cowbay.org/post/add-system-wide-favorite-apps-in-dconf/ + Mon, 16 Dec 2019 13:59:26 +0800 + + https://h.cowbay.org/post/add-system-wide-favorite-apps-in-dconf/ + <p>這幾天在ansible 寫了一份新的playbook給developer 用</p> + +<p>然後user反映說,希望能在ubuntu 18.04 內建的dock 裏面新增一個gnome-terminal的icon</p> + +<p>我才發現原來之前的寫法不能用在 ubuntu 18.04 上</p> + +<p>只好又弄了一份出來</p> + + [筆記] 透過 wireguard 建立多點 site to site VPN / Multiple Site to Site VPN Using Wireguard https://h.cowbay.org/post/multiple-site-to-site-vpn-using-wireguard/ diff --git a/public/tags/vim/index.html b/public/tags/vim/index.html index ebdd8df4..72ffe1ec 100644 --- a/public/tags/vim/index.html +++ b/public/tags/vim/index.html @@ -45,9 +45,9 @@ - + - + @@ -470,6 +470,6 @@ if (!doNotTrack) {
- + diff --git a/public/tags/vpn/index.html b/public/tags/vpn/index.html index 1960dbf9..d14a6d33 100644 --- a/public/tags/vpn/index.html +++ b/public/tags/vpn/index.html @@ -45,9 +45,9 @@ - + - + @@ -648,6 +648,6 @@ if (!doNotTrack) {
- + diff --git a/public/tags/wireguard/index.html b/public/tags/wireguard/index.html index 62be961d..b2198c22 100644 --- a/public/tags/wireguard/index.html +++ b/public/tags/wireguard/index.html @@ -45,9 +45,9 @@ - + - + @@ -584,6 +584,6 @@ if (!doNotTrack) {
- + diff --git a/public/tags/zfs/index.html b/public/tags/zfs/index.html index 7ed105cf..a4897e55 100644 --- a/public/tags/zfs/index.html +++ b/public/tags/zfs/index.html @@ -45,9 +45,9 @@ - + - + @@ -518,6 +518,6 @@ if (!doNotTrack) {
- + diff --git a/public/tags/短今/index.html b/public/tags/短今/index.html index 13de9efc..57890764 100644 --- a/public/tags/短今/index.html +++ b/public/tags/短今/index.html @@ -45,9 +45,9 @@ - + - + @@ -418,6 +418,6 @@ if (!doNotTrack) {
- + diff --git a/public/tags/筆記/index.html b/public/tags/筆記/index.html index 045f264e..80ecf220 100644 --- a/public/tags/筆記/index.html +++ b/public/tags/筆記/index.html @@ -45,9 +45,9 @@ - + - + @@ -701,6 +701,6 @@ if (!doNotTrack) {
- + diff --git a/public/tags/群暉/index.html b/public/tags/群暉/index.html index cdbc3785..fc8e7798 100644 --- a/public/tags/群暉/index.html +++ b/public/tags/群暉/index.html @@ -45,9 +45,9 @@ - + - + @@ -478,6 +478,6 @@ if (!doNotTrack) {
- +