2019年12月19日 星期四

設定瀏覽器直接列印到預設印表機

分為 Google Chrome 和 Firefox 二種不同的處理方式。

Google Chrome Kisok Print 模式:
  1. 先關閉 chrome ,連背景執行的也要關閉。
  2. 在 chrome 圖示按「右鍵 / 內容」。
  3. 在執行程式部份,輸入為「 chrome  --kiosk-printing 」,就可以做到預設列印的動作。
  4. 附註,若輸入為「 chrome --kiosk 」,則 chrome 執行時就會以全螢幕方式執行。

Firefox Silent 模式:
  1. 開啟 firefox 後,在網址列輸入「 about:config 」。
  2. 按 確認 。
  3. 若是較舊版本,在內容區按「右鍵 / New / Boolean 」,輸入「 print.always_print_silent 」,將值設定為 True 即可。
    若是較新版本,直接在上方的篩選裡輸入「 print.always_print_silent 」 ,系統預設是 Boolean ,而且預設為 True,直接按右方的 「 + 」即可。
以上動作,就完成這二個模式的設定。

參考來源: https://oncyclo.com/support/knowledgebase/251/Silent-or-Kisok-Printing.html

解決 ESXi Server 密碼遺忘的狀況

依照官方說法,若  ESXi Server 的 root 密碼忘了,是沒有辦法復原的,只能重灌系統,只是,重灌 ESXi 並不是解決問題的方法,重要的是裡頭的 guest 系統。
網路查到可以解決,主要動作如下:
  1. 若 ESXi Server  主機已開機,由於沒有 root 密碼,無法正常關機,只能強制重新啟動主機。因此,在強制重新啟動主機之前,若能先連到 guest OS 關機,記得要先處理這個動作。
  2. 在 ESXi Server 那台,使用 Live USB (Ubuntu or Linux Mint) 開機,依序的指令參考如下。
  3.  sudo fdisk -l
    主要確認 /sda5 的分割區。 
  4. sudo mkdir /mnt/sda5
  5. sudo mount /dev/sda5  /mnt/sda5
  6. sudo cp /mnt/sda5/state.tgz  ~/
  7. tar  zxf state.tgz
  8. tar zxf local.tgz
  9. vi etc/shadow
  10. 刪除 root 帳號後的密碼欄位
  11. rm -rf *.tgz
  12. tar zcf local.tgz etc/
  13. tar zcf state.tgz local.tgz
  14. sudo cp state.tgz /mnt/sda5
  15. sudo shutdown -r now
重新啟動後,就可以不用密碼登入,記得要設定一個好記的密碼。



2019年12月9日 星期一

將 Android 手機畫面顯示在電腦螢幕上

scrcpy

https://github.com/Genymobile/scrcpy

優點如下:
  • lightness (native, displays only the device screen)
  • performance (30~60fps)
  • quality (1920×1080 or above)
  • low latency (35~70ms)
  • low startup time (~1 second to display the first image)
  • non-intrusiveness (nothing is left installed on the device)

2019年12月4日 星期三

MariaDB Replication 設定


底下這篇簡單有用!
https://noter.tw/4508/mariadb-replication-%E8%A8%AD%E5%AE%9A/

略過說明,指令部份如下。


設定 Master

修改 MariaDB 設定
# 使用文字編輯器修改設定檔
vim /etc/mysql/mariadb.conf.d/50-server.cnf

# 搜尋 bind-address 並修改成自己連線的 IP
bind-address = 10.0.0.1

# 搜尋 server-id,修改成自己想要設定的 ID
# 可以隨便設定,只要每一台都不同即可
server-id = 101

# 搜尋 log_bin,取消註解
log_bin = /var/log/mysql/mysql-bin.log

# 離開文字編輯器
:wq!

# 重啟 mariadb
systemctl restart mariadb
進入資料庫建立一個供 slave 連線的使用者
# 登入 mariadb
mysql -u root -p

# 進入 mariadb 之後建立 slave 使用者
# 這邊要注意 
# a. '%' 表示任意主機,也可限定主機名稱或 IP 較安全
# b. 'your password' 改成從 slave 要連線過來的密碼          
MariaDB [(none)]> grant replication slave on *.* to replica@'%' identified by 'your password'; 

# 讓上述設定生效
MariaDB [(none)]> flush privileges;
把 master lock 住,取得 master 的資訊
# 把資料表鎖住,避免匯出的當下有資料變動
MariaDB [(none)]> flush tables with read lock; 

# 查看 master 的狀態,把 File 跟 Position 記下來
MariaDB [(none)]> show master status; 

# 離開 mariadb
MariaDB [(none)]> exit;
開始匯出 master 所有資料
# 匯出所有資料
mysqldump -u root -p --all-databases --lock-all-tables --events > mysql_dump.sql 

# 再進入 mariadb 把 lock 狀態解除
mysql -u root -p
MariaDB [(none)]> unlock tables; 
MariaDB [(none)]> exit; 
到這邊 master 的設定差不多就完成了。(這邊記錄的順序跟原文不太一樣,不過達成的目的都相同)

設定 Slave

進入 slave 後,一樣先設定 mariadb 設定檔
# 使用文字編輯器修改設定檔
vim /etc/mysql/mariadb.conf.d/50-server.cnf

# 搜尋 bind-address 並修改成自己連線的 IP
bind-address = 10.0.0.2

# 搜尋 server-id,修改成自己想要設定的 ID
# 可以隨便設定,只要每一台都不同即可
server-id = 102

# 搜尋 log_bin,取消註解
log_bin = /var/log/mysql/mysql-bin.log

# 加入惟獨的屬性
read_only=1

# 設定 hostname
report-host=xxxx.abc.net

# 離開文字編輯器
:wq!

# 重啟 mariadb
systemctl restart mariadb
把剛剛 master 匯出的資料抓回來
# 用法 rsync -avzh 來源 目的地
# 我們從 slave 把檔案從 master 拉過來,
# 因此 rsync -avzh master的連線資訊+檔案 slave的位置
rsync -avzh root@test:/root/mysql_dump.sql ./
把所有資料匯入到資料庫中
# 將 master dump 出來的資料匯入到資料庫中
mysql -u root -p < /root/mysql_dump.sql
設定 master 連線資訊
# 進入 mariadb
mysql -u root -p 

# 設定 master 連線資訊
MariaDB [(none)]> change master to 
    -> master_host='10.0.0.1',               # master IP
    -> master_user='replica',                # 剛剛設定的帳號
    -> master_password='yourpassword',       # 剛剛設定的密碼
    -> master_log_file='mysql-bin.000001',   # 上面得到的 File
    -> master_log_pos=311;                   # 上面得到的 Position
啟動 slave
# 啟動 slave
MariaDB [(none)]> start slave;

# 查看 slave 狀態
MariaDB [(none)]> show slave status\G 

# Slave_IO_State: Waiting for master to send event
# 如果顯示這樣表示連線成功,正在等待資料更新
# 有可能會有其他錯誤,連線錯誤、無法登入錯誤 ... 等
完成!