2020年11月24日

edu2020 install drbl

 1.設定固定ip

sudo -s

cd /etc/netplan

vim 01-network-manager-all.yaml 

增加內容

ethernets:
          enp0s3:
                  dhcp4: no
                  dhcp6: no
                  addresses: [192.168.43.152/24]
                  gateway4: 192.168.43.1
                  nameservers:
                        addresses: [168.95.1.1,8.8.8.8 ]

sudo netplan apply

臨時增加一張虛擬網卡

ifconfig  enp0s3:0 192.168.10.1 up 

sudo vim /etc/re.local

加入下列內容

#!/bin/bash

ifconfig enp0s3:0 192.168.10.1 up

exit 0

sudo chmod  +x /etc/rc.local


2.增加來源

sudo vim /etc/apt/sources.list

加入下列

deb http://free.nchc.org.tw/ubuntu focal main restricted universe multiverse
deb http://free.nchc.org.tw/drbl-core drbl stable

加key

wget -q http://drbl.nchc.org.tw/GPG-KEY-DRBL -O- | sudo apt-key add -

3.安裝drbl

sudo apt update

sudo apt install drbl

4.設定server

drblsrv -i

*****************************************************.
提示! 當有yes/no選項的時候,預設的值是大寫的字母。例如 (y/N), 預設值是 "N", 當你按 "Enter"的時候,程式使用的值就是 "N"。如果你不確認選用那個好的時候,直接按"Enter"鍵是一個保險的方式。
*****************************************************.
*****************************************************.
在 Debian Linux 上安裝 DRBL 環境...
*****************************************************.
你是否要安裝一些網路安裝的開機檔案使得用戶端的電腦可以透過網路安裝Linux (Debian, Ubuntu, RedHat Linux, Fedora Core, Mandriva, CentOS與OpenSuSE等)到本身的硬碟中? ///注意/// 這個動作會下載一些檔案(全部的大小可能超過100 MB),所以有可能會花不少時間。假如你的用戶端電腦有硬碟,而你又有可能會需要安裝作業系統,建議選擇Y。假如你回答no,之後你仍舊可以使用drbl-netinstall來安裝這些檔案。
[y/N] Enter

*****************************************************.
This GNU/Linux distribution uses one kernel to support SMP and non-SMP arch.
*****************************************************.
你的 DRBL 用戶端的電腦是否要使用序列終端機(Serial Console)?
如果你不清楚什麼序列終端機的話,就回答"N",否則有可能造成用戶端電腦螢幕無法顯示!
[y/N] Enter

The CPU arch option for your clients: 2
您選用與伺服器同等級的 CPU 最佳化.
*****************************************************.
清除apt的快取檔案...
已有:1 http://free.nchc.org.tw/ubuntu focal InRelease
略過:2 http://free.nchc.org.tw/drbl-core drbl InRelease               
已有:3 http://free.nchc.org.tw/drbl-core drbl Release                 
已有:4 http://tw.archive.ubuntu.com/ubuntu focal InRelease                                                                                   
已有:5 http://tw.archive.ubuntu.com/ubuntu focal-updates InRelease                                                                           
已有:6 http://tw.archive.ubuntu.com/ubuntu focal-backports InRelease                  
已有:8 http://security.ubuntu.com/ubuntu focal-security InRelease                                                
已有:9 http://ppa.launchpad.net/linuxuprising/shutter/ubuntu focal InRelease
已有:10 http://ppa.launchpad.net/yannubuntu/boot-repair/ubuntu focal InRelease
正在讀取套件清單... 完成                           
*****************************************************.
你是否要升級你的作業系統?
[y/N]  Enter

.

.

.

執行 mime-support (3.64ubuntu1) 的觸發程式……
執行 initramfs-tools (0.136ubuntu6.3) 的觸發程式……
update-initramfs: Generating /boot/initrd.img-5.4.0-48-generic
執行 hicolor-icon-theme (0.17-2) 的觸發程式……
執行 gnome-menus (3.36.0-1ubuntu1) 的觸發程式……
執行 libc-bin (2.31-0ubuntu9) 的觸發程式……
執行 ufw (0.36-6) 的觸發程式……
執行 systemd (245.4-4ubuntu3.2) 的觸發程式……
執行 man-db (2.9.1-1) 的觸發程式……
*****************************************************.
*****************************************************.
如果找到新版的程式,嘗試升級某些需要的程式...
*****************************************************.
在 ayo 資料庫中尋找最新的  kernel ...
The kernel image in Ubuntu 20.04 "uses generic" for i686/amd64 CPU.
在 ayo 資料庫中,最新的核心是 linux-image-5.4.0-48-generic
有兩個可用的核心給用戶端電腦用,你要選擇哪一個?
[1]: kernel 5.4.0-47-generic x86_64 (來自於這台DRBL伺服器)
[2]: linux-image-5.4.0-48-generic (來自於apt的儲藏庫)
[1] Enter

.

.

.

產生用戶端PXE與Etherboot網路開機用的檔案,這可能需要幾分鐘...
用戶端電腦使用的最新核心是 5.4.0-47-generic
Running mknic-nbi --kernel 5.4.0-47-generic --all --no-modules
Will client check DHCP server name is "drbl" or not: yes
The maximum times to try to get IP address for a client: 5
The pause time after network card is up: 0
The timeout to wait for network card linked (Unit: 0.1 secs): 70
The NFS protocol for DRBL system: nfs3
Setting port for udhcpc request to default...
Using the kernel modules from /tftpboot/node_root//lib/modules...
The selected kernel for DRBL clients is: 5.4.0-47-generic
Creating the network boot initrd for PXE clients by: mkpxeinitrd-net -k 5.4.0-47-generic    -nf
Use kernel modules from /tftpboot/node_root//lib/modules/5.4.0-47-generic.
/tftpboot/node_root//lib/modules/../../boot/config-5.4.0-47-generic is found but either CRAMFS or EXT2 filesystem is NOT builtin in the kernel. We will use initramfs.
Trying to include network card firmwares if they exist in /tftpboot/node_root//lib/firmware/...
Calling hook udev...
Creating the initRAMFS image...
Initrd, assign ramdisk_size (97017) and ramdisk_block (1024) in /tftpboot/nbi_img/pxelinux.cfg/default.
Finished!
完成!
*****************************************************.
完成!

5.設定環境

sudo drblpush -i
*****************************************************
提示! 當有yes/no選項的時候,預設的值是大寫的字母。例如 (y/N), 預設值是 "N", 當你按 "Enter"的時候,程式使用的值就是 "N"。如果你不確認選用那個好的時候,直接按"Enter"鍵是一個保險的方式。
******************************************************
正在搜尋DRBL伺服器中已經安裝的相關程式...這個可能需要幾分鐘...
完成尋找DRBL伺服器所需的相關程式.
******************************************************
------------------------------------------------------
這是一個交談模式,在設定DRBL環境的過程中,您必須提供相關資料
------------------------------------------------------
------------------------------------------------------
請輸入網域名稱(DNS domain),例如drbl.sf.net:
[drbl.org]

您設定的網域名稱(DOMAIN)是 drbl.org
------------------------------------------------------
請輸入NIS/YP網域名稱:
[penguinzilla]

您設定的網域名稱(DOMAIN)是 penguinzilla
------------------------------------------------------
請輸入用戶端電腦名稱的前置字元:
這個前置字元是用來搭配流水編號自動產生用戶端電腦名稱,如果你有部份或是全部機器不想使用這個自動產生的電腦名稱,想要自己指定用戶端電腦名稱,現在可以先按Ctrl-C中斷此程式,編輯/etc/drbl/client-ip-hostname後,再執行此程式。
[teacher-VirtualBox-]

您設定的用戶端電腦名稱的前置字元是 teacher-VirtualBox-
------------------------------------------------------
enp0s3: IP address 192.168.43.152, netmask 255.255.255.0
在你的系統上找到已經設定好的乙太網路埠有: enp0s3
------------------------------------------------------
沒有找到這台伺服器的公開IP位址,
哪個網路連接埠是這台伺服器用來連接到外部網際網路,而不是給DRBL環境使用的?
這台伺服器有的乙太網路埠:
enp0s3 (192.168.43.152),
[enp0s3]

你所選擇連接到網際網路的乙太網路埠是: enp0s3
///警告/// 在這台機器上只有找到一張有設定好的網路卡。
你確認要繼續執行?
[y/N] y

在這張網卡上有發現DHCP服務: enp0s3
你是否要使用區域網路中>現有的DHCP服務? 該DHCP伺服器的IP位址是: 192.168.43.1
如果選擇是,我們將使用從現有的DHCP服務取得的IP位址。若選擇否,我們將在此機器另外跑一個DHCP服務,不過此服務可能會與現有的DHCP服務相衝突。因此建議選擇使用現有的DHCP服務。
//注意// 若選擇是,你必須確認現有的DHCP服務提供足夠多的IP位址給用戶端機器使用。此外,這個機制有其風險,因為在此區域網域的PXE或者uEFI網路開機用戶端都會進入DRBL或者Clonezilla模式。請確認這是你要的模式。
[Y/n]

Use proxy DHCP. Adding virtual network drbl0...
This virtual network device was created successfully: drbl0
3: drbl0@enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 02:77:f1:a8:60:5f brd ff:ff:ff:ff:ff:ff
    inet6 fe80::77:f1ff:fea8:605f/64 scope link tentative
       valid_lft forever preferred_lft forever
Detecting DHCP services... 30 29 28 27 26 25 24 23
Found DHCP service. Ethernet card, DHCP server, Available DHCP client: drbl0, 192.168.43.1, 192.168.43.14
******************************************************
繼續...
******************************************************
Hostmin: 192.168.43.1
******************************************************
繼續...用戶端電腦會採用非固定IP!
******************************************************
這個網域的用戶端電腦中,起始的IP 4組數字中,最後一組數字的起始值是(也就是IP a.b.c.d的d的起始值)? 這是針對連接到DRBL伺服器網路連接埠 drbl0.
[1]
******************************************************
有多少台DRBL用戶端的電腦(也就是給學生使用的電腦)連接到DRBL伺服器網路連接埠 drbl0 ?
請輸入數字:
[12]

******************************************************
我們將設定這些用戶端電腦的IP為,這是針對連接到DRBL伺服器網路連接埠 drbl0 為: 192.168.43.1 - 192.168.43.12
接受 ? [Y/n]

*****************************************************
繼續...
******************************************************
你的DRBL環境配置:
******************************************************
          NIC    NIC IP                    Clients
+-----------------------------+
|         DRBL SERVER         |
|                             |
|    +-- [enp0s3] 192.168.43.152 +- to WAN
|                             |
|    +-- [drbl0] 192.168.43.14 +- to clients group drbl0 [ 12 clients, their IP
|                             |            from 192.168.43.1 - 192.168.43.12]
+-----------------------------+
******************************************************
Total clients: 12
******************************************************
按"Enter"鍵來繼續...

******************************************************
------------------------------------------------------
本系統中,有3種模式可以提供無碟的Linux服務給用戶端使用:
[0] 完全DRBL模式(Full DRBL mode),每個用戶端都有自己的/etc與/var (基於NFS).
[1] 單一系統印象檔模式(DRBL SSI, single system image) , 每個用戶端都使用tmpfs(以記憶體來當虛擬磁碟)的/etc與/var。此模式中,DRBL伺服器的負載與所需要的硬碟空間會少一些。但是請注意!在這個模式中,(a)用戶端電腦的記憶體建議至少要256MB以上,(b)用戶端電腦的系統設定檔並不會回存到伺服器中。所有開機後的系統設定只會使用一次然後關機後就消失。此外,如果你有修改過任何範本機器的設定檔(也就是位於/tftpboot/nodes下的設定檔),你要再執行drbl-gen-ssi-files來產生新的tarball範本檔於/tftpboot/node_root/drbl_ssi/中,(c) 如果你要針對某些用戶端設定一些特別的檔案,可以參考/tftpboot/node_root/drbl_ssi/clients/00_README。
[2] 不要提供無碟Linux服務給用戶端使用.
你要選用哪一個模式?
[0] 2

不要提供無碟Linux服務給用戶端使用.
******************************************************
------------------------------------------------------
本系統中,Clonezilla再生龍有4個模式可以選用:
[0] 完全模式(Full clonezilla mode),每個用戶端都有自己的/etc與/var (基於NFS).
[1] 再生龍盒模式(Clonezilla box mode), 每個用戶端都使用tmpfs(以記憶體來當虛擬磁碟)的/etc與/var。此模式中,Clonezilla伺服器的負載與所需要的硬碟空間會少一些。但是請注意!這個模式中,用戶端電腦的系統設定檔並不會回存到伺服器中。所有開機後的系統設定只會使用一次然後關機後就消失!
[2] 我不要使用再生龍.
[3] 使用Clonezilla live當作用戶端做clonezilla工作時候的作業系統.
你要選用哪一個模式?
[0]
你選用完全模式(Full clonezilla mode)!
******************************************************
******************************************************
用戶端執行Clonezilla的工作時,選用的CPU架構是: i386
------------------------------------------------------
使用再生龍的時候,你要把印象檔存在此台機器的那個目錄中(請用絕對路徑,並且不要指定在/mnt/, /media/ 或是/tmp/下)?
[/home/partimag]
Directory for Clonezilla saved images: /home/partimag
******************************************************
用戶端開機後為文字模式.
******************************************************
繼續...
------------------------------------------------------
基於安全考量, 你是否要為用戶端電腦設定開機密碼?
[y/N]
繼續...
------------------------------------------------------
你是否要在用戶端電腦開機的時候讓使用者可以選擇所要的系統?
[Y/n]
用戶端電腦開機,出現提示符號時要等待多少個0.1秒?
[70] 50
繼續...
------------------------------------------------------
------------------------------------------------------
你是否要在用戶端電腦開機的時候使用圖形背景的選單?
注意!如果你的用戶端使用圖形背景無法正常開機,你可以使用"switch-pxe-bg-mode -m text"來切換成文字模式的背景.
[y/N]
Use text PXE Linux menu for the client.
------------------------------------------------------
繼續...
------------------------------------------------------
------------------------------------------------------
你是否要讓DRBL伺服器也能提供NAT服務(也就是一般俗稱的IP分享器功能)? 如果不要的話,DRBL用戶端電腦將無法連到網際網路.
[Y/n]
繼續...
------------------------------------------------------
------------------------------------------------------
你是否要保留以前DRBL用戶端電腦的設定?
[Y/n]
如果原來DRBL用戶端電腦的設定存在的話,將會予以保留.
******************************************************
******************************************************
DRBL伺服器目前使用的核心支援 NFS over TCP!
【注意】如果你改變DRBL伺服器目前使用的核心版本,並且不確認那個核心是否支援NFS over UDP 或是 TCP,你最好重新執行"drblpush -i"以免用戶端電腦開不了機!
按"Enter"鍵來繼續...

------------------------------------------------------
******************************************************
The calculated NETWORK for drbl0 is 192.168.43.0.
******************************************************
******************************************************
現在準備部署這些檔案到系統中!
你要繼續執行嗎?
警告!如果你繼續執行,你的防火牆規則將會被改掉!
原來的規則將會被備份成iptables.drblsave於系統的設定目錄中(/etc/sysconfig或是/etc/default).
[Y/n]
******************************************************
開始進行...
------------------------------------------------------
.

.

.


完成。


2020年11月7日

scratch_link for ubutnu20.04

 scratch_link在scratch3的官網上,明白寫著只支援win mac chromebook....,linux一直找不到解決方案。

在網路上看到好像pyscrlink可以支援linux,但github(https://github.com/kawasaki/pyscrlink)上明白也寫著不支援linux microbit,真的不好阿。研究了一下好像成功了。做法如下,記錄一下。

安裝記錄

1.microbit要下載hex。下載後解壓縮,把.hex拷貝到microbit磁碟機中,重開micro:bit,這時候led會顯示pupop。

2.ubuntu20.04安裝pyscrlink:

$sudo apt install bluez libbluetooth-dev libnss3-tools libcap2-bin  libglib2.0-dev git

$sudo apt-get install python3-pip

$sudo pip3 install bluepy

$sudo pip3 install pyscrlink

$bluepy_helper_cap

3.下載我改寫過的pyscrlink原始檔

$git clone https://github.com/estea8968/pyscrlink.git

$cd pyscrlink

$./release.sh build

$sudo python3 setup.py  install

安裝完成後就有scratch_link指令可以使用

使用方式

microbit接上電源,開啟ubuntu終端機,輸入scratch_link

打開scratch3網頁,按左下角+


選micro:bit擴充積木


選擇BBC microbit[pupop]按下連線

連線後,回到編輯器

就可以正常使用擴充積木了。






2020年10月20日

acer travIMate T6410-G4 clonezilla無法開機

 接到夥伴說這台筆電無法使用linux系統,由其是要使用clonezilla備份,很是困擾。感謝國家高速網路中心蕭老師解決問題。

原因是:NVMe SSD需要修改一些設定才能讓系統抓到

參考網址:https://hackmd.io/@PK/B1x311WsI?fbclid=IwAR0pmofhl4VXuSZgNloKekpisHu_ph1rAhohI2vn6zDfrwvBuI1t4N6MN6s 

 看來這問題很早就發生了(swift 3就有了)。acxx....

所以使用clonezilla時要修改開機選單,接改/syslinux/syslinu.cfg以及/boot/grub/grub.cfg,把nvme_core.default_ps_max_latency_us=5500加上去就好了

 


上圖只修改一個開機選單,記得要用該選項開機才有效。你也可以每個都加此參數。
感謝明貴校長支援硬體。蕭老師技術指導。
 


 

2020年10月15日

google表單使用網址直接填單

 在google表單中可以使用網址列的方式直接填單。記錄一下

1.建立表單

 


2.取得預先填入的連結,複製網址



 

3.開啟記事本,貼上連結

 4.回到瀏覽器,填入資料,按下取得連結

 


5.複製連結


6.在記事本中貼入複製連結

7.組合網址:表單取得連結網址,把prefill改成formResponse?加上欄位值


 


2020年9月3日

修改scratch3預載內容

 預載的內容在:scratch-gui/src/lib/default-project資料夾內。

index.js和project-data.js

把要加入的svg檔案拷貝到資料夾內,並使用 md5sum 檔案,算出編碼後的數字,例如:

md5sum osep.svg
48b6771e8ddcb19a37584bf4ce4df834  osep.svg 

把osep.svg重新命名為48b6771e8ddcb19a37584bf4ce4df834.svg

編輯index.js

在前面import中加入

import osep from '!raw-loader!./48b6771e8ddcb19a37584bf4ce4df834.svg';

在最後面加入

{
        id: '48b6771e8ddcb19a37584bf4ce4df834',
        assetType: 'ImageVector',
        dataFormat: 'SVG',
        data: encoder.encode(osep)
    },

 

編輯project-data.js

新增角色加入

{
                isStage: false,
                name: translator(messages.sprite, {index: 1}),
                variables: {},
                lists: {},
                broadcasts: {},
                blocks: {},
                currentCostume: 0,
                costumes: [
                    {
                        assetId: '48b6771e8ddcb19a37584bf4ce4df834',
                        name: translator(messages.costume, {index: 1}),
                        bitmapResolution: 1,
                        md5ext: '48b6771e8ddcb19a37584bf4ce4df834.svg',
                        dataFormat: 'svg',
                        rotationCenterX: 46,
                        rotationCenterY: 50
                    }
                ],
                sounds: [
                    {
                        assetId: '83c36d806dc92327b9e7049a565c6bff',
                        name: translator(messages.meow),
                        dataFormat: 'wav',
                        format: '',
                        rate: 22050,
                        sampleCount: 18688,
                        md5ext: '83c36d806dc92327b9e7049a565c6bff.wav'
                    }
                ],
                volume: 100,
                visible: true,
                x: 200,//角色座標
                y: -150,
                size: 50,//角色大小%
                direction: 90,
                draggable: false,
                rotationStyle: 'all around'
            }

 存檔,重新編譯程式。


src/lib/libraries/sprites.json記錄選取角色的資料, costumes.json圖檔資料

 storage.js

 

左上角超連結在src/playground/render-gui.jsx 

找到const onClickLogo =

2020年8月19日

ubuntu kernel移除

#查看发布版本号
cat /etc/issue
lsb_release -a

#查看内核版本号
uname -sr
uname -a

 下載

linux-headers-xx_all.deb
linux-headers-xx-generic_xx_amd64.deb
linux-image-xx-generic_xx_amd64.deb


sudo dpkg -i *.deb


#安装完成以后,重新启动系统,验证内核的版本
uname -sr

如何知道已經安裝好的套件有多少?

使用指令
dpkg --get-selections > inistalled_packages.txt

sed -i 's/install/\\/g' inistalled_packages.txt

2020年8月16日

scratch3_knn安裝記錄

 github:https://github.com/CodeLabClub/scratch3_knn

參考文章:https://github.com/CodeLabClub/scratch3_knn_install

cd   scratch-gui/node_modules/scratch-vm/src/exteions

git clone https://github.com/CodeLabClub/scratch3_knn.git

cd scratch3_knn

cp -r knn ../../../../../static

vim mobilenet.js

約1083行

註解//var BASE_PATH = 'http://storage.codelab.club/tfjs-models/tfjs/'

 改成var BASE_PATH = '../static/knn/';

vim index.js

把這三行註解

//import * as tf from '@tensorflow/tfjs';
//import * as mobilenetModule from './mobilenet.js';
//import * as knnClassifier from '@tensorflow-models/knn-classifier';
 加入

const tf = require('@tensorflow/tfjs');
const mobilenetModule = require('./mobilenet.js');
const knnClassifier = require('@tensorflow-models/knn-classifier'); 


 vim ../../extension-support/extension-manager.js

 在const builtinExtensions = {
中的最後面加上,,按下enter,再貼上cxknn:() =>require('../extensions/scratch3_knn')


 

 cd ../../../../../src/lib/libraries/extensions/

mkdir knnAlgorithm

加入圖片knnAlgorithm.png 和 knnAlgorithm-small.svg

 vim index.jsx

在import的最後面加入二行

import knnalgorithmImage from './knnAlgorithm/knnAlgorithm.png';
import knnalgorithmInsetImage from './knnAlgorithm/knnAlgorithm-small.svg';

 在export default [的最後面加入

{
       name: (
           <FormattedMessage
               defaultMessage="knn algorithm"
               description="Name for the 'knn algorithm' extension"
               id="gui.extension.knnalgorithm.name"
           />
       ),
       extensionId: 'cxknn',
       iconURL: knnalgorithmImage,
       insetIconURL: knnalgorithmInsetImage,
       description: (
           <FormattedMessage
               defaultMessage="knn algorithm."
               description="Description for the 'knn algorithm' extension"
               id="gui.extension.knnalgorithm.description"
           />
       ),
       featured: true,
       helpLink: 'https://github.com/CodeLabClub/scratch3_knn'
},

 

查看目前npm 安裝套件的版本

npm -l 套件名稱 

例如:

npm ls @tensorflow-models/knn-classifier
scratch-gui@0.1.0 /home/teacher/音樂/osep_scratch-gui
└── @tensorflow-models/knn-classifier@1.2.2

大致上需要

    "@tensorflow-models/knn-classifier": "^1.2.2",
"@tensorflow/tfjs": "^0.13.5",
"@tensorflow/tfjs-converter": "^1.2.1",
"@tensorflow/tfjs-core": "^1.2.1",
"@tensorflow/tfjs-layers": "^0.8.5",
安裝特定版本

npm install @tensorflow/tfjs@0.10.0 

 npm  install 

@tensorflow-models/knn-classifier @tensorflow/tfjs @tensorflow/tfjs-converter @tensorflow/tfjs-core @tensorflow/tfjs-layers

2020年8月11日

scratch3使用ifttt發佈訊息到line

0.你的line,先把notify加入好友。

 1.先登入ifttt網站(https://ifttt.com/),第一次點選右上角sign up按鈕,可以使用各大網站的openID。

2.按下建立creat,出現如下圖,按下+號。用法是如果什麼事就如何

3.選擇服務,搜尋webhooks


4.替事件取個名字,按下左邊藍色圖框。

5.輸入你要的事件名稱,這裡是"溫度警告",按下Create trigger。

6.再按下下一個+號

7.輸入動作的服務,輸入line。

8.按下send message(送出訊息)

9.選擇透過1對1聊天或是群組,按下create action

10.完成設定。

11.取得webhooks的key。按下右上角人的圖形,My services.

12.點選右上角的setting,複製你的ke(use/後的文字)。




14回到scratch3中,按下ifttt擴充套件。

15.拉出積木,填入key和事件名稱和要送出值(最多三個)。

16.line上收到的訊息:


2020年8月9日

microbit web content

 1.韌體要0243以上。韌體下載:https://microbit.org/get-started/user-guide/firmware/

2.更新韌體:把下載的.hex檔複製到microbit磁碟中,拔掉usb連線,按著reset鈕不放插入usb,板子自動會更新韌體。

3.linux下連上makecode,仍然不能連線,必需

sudo vim /etc/udev/rules.d/50-microbit.rules

貼上以下內容

SUBSYSTEM=="usb", ATTR{idVendor}=="0d28", MODE="0664", GROUP="plugdev"

執行指令
sudo usermod -a -G plugdev <your-username>
sudo udevadm control --reload-rules
重開機,使用chrome瀏覽器就可以連上了

不過連上去了,按下下載按鈕,就可以直接寫入,不用再用檔案總管複製貼上,省了一個操作。

2020年7月17日

scratch3訪問網站

自己一直想讓scratch3可以連上網站,於是借了fred的積木,做了一個擴充功能。
測試網址:https://estea8968.github.io/OSEP/app/

按下增加擴充功能,選擇JSON。

 把積木拉出。貼入網址。




2020年5月29日

gjots2安裝edu2020

在edu2020(ubuntu 20.04)安裝gjots2記錄


官網:http://bhepple.freeshell.org/gjots/

安裝3.1.6版

下載:soureforge https://sourceforge.net/projects/gjots2/files/gjots2/
目前是3.1.6 gjots2-3.1.6.tgz
解壓縮gjots2-3.1.6.tgz
tar zxvf   gjots2-3.1.6.tgz
cd gjots2-3.1.6
sudo python3 setup.py install --prefix=/usr
執行gjots2
這時會出現error
原因找不到lib下的py
修正gjots2命令
sudo vim /usr/bin/gjots2
把第53行註解掉
#sys.path = [ get_python_lib() + '/gjots2' ] + sys.path
新增sys.path = [ prefix + '/lib/gjots2' ] + sys.path




還需要libgtksourceview-3.0-dev套件
sudo apt install -y libgtksourceview-3.0-dev
這樣就可以執行最新版本了。

安裝3.0.2版,有deb可以下載安裝

下載deb
https://pkgs.org/download/gjots2
目前可以找到的是ubutnu 19.10的版本gjots2_3.0.2-0.1_all.deb
下載後安裝
sudo dpkg -i gjots2_3.0.2-0.1_all.deb
sudo  --fix-broken install

中文化

po 轉 mo
安裝轉換套件
sudo apt install gettext
msgfmt zh_TW.po -o gjots2.mo 
sudo cp gjots2.mo /usr/share/locale-langpack/zh_TW/LC_MESSAGES/gjots2.mo

這樣就可以看到中文版本的gjots2了。

 
 

2020年5月21日

tracker

ubuntu20.04 發現主機風扇都會很大聲,用top看,是tracker在運作,直接移除會連nautilus(檔案總管)都移除掉了。查了一下,這一篇很有幫助
https://www.itread01.com/p/177111.html

這篇也不錯
http://abelsu7.top/2019/04/28/centos7-tracker-hight-cpu-percent/


https://ubuntuqa.com/zh-tw/article/488.html


echo -e "\nHidden=true\n" | sudo tee --append /etc/xdg/autostart/tracker-extract.desktop /etc/xdg/autostart/tracker-miner-apps.desktop /etc/xdg/autostart/tracker-miner-fs.desktop /etc/xdg/autostart/tracker-miner-user-guides.desktop /etc/xdg/autostart/tracker-store.desktop > /dev/null
gsettings set org.freedesktop.Tracker.Miner.Files crawling-interval -2  
gsettings set org.freedesktop.Tracker.Miner.Files enable-monitors false  
tracker reset --hard 
 
也可以在初始啟動應用程式中加入 tracker daimon -k指令,開機後就把它停用。

2020年4月30日

ubuntu 20.04 gnome tweak

ubutnu 20.04視窗關閉又回到右上角,真不習慣,gnome-tweak不見了,只好把它裝回來。
sudo add-apt-repository universe
sudo apt install gnome-tweak-tool 

2020年4月23日

ubuntu server jitsi 記事

1.cron tab定期更新

更新指令
apt update ; apt dist-upgrade
重新開機指令
sync;sync;sync;reboot
加入定期執行
sudo nano /etc/crontab

加入一行
0 0     1 * *   root apt update;apt dist-upgrade;sync;sync;sync;reboot
Ctrl+o存檔
Ctrl+X離開

crontab說明
分 時 日 月 週 使用者 指令

定時校時
中華民國校時主機

tock.stdtime.gov.tw
watch.stdtime.gov.tw
time.stdtime.gov.tw
clock.stdtime.gov.tw
tick.stdtime.gov.tw

sudo  apt -y install ntpdate
sudo ntpdate time.stdtime.gov.tw
sudo hwclock -w
每天6點校時
sudo nano /etc/crontab
加入一行
 0 6     * * *   root  ntpdate time.stdtime.gov.tw; hwclock -w

2.改ssh port

sudo -s
cp  /etc/ssh/sshd_config /etc/ssh/sshd_config-bak
nano /etc/ssh/sshd_config

找到 #   Port 22
插入一行 Port 2222
Ctrl+o存檔
Ctrl+X離開
重啟ssh
 sudo /etc/init.d/ssh restart
測試
重新連線
ssh -p 2222 user@ip


3.限制連線

 Jitsi 需要使用 UDP 10000-20000  port,以及 https 的連線

防火牆原則
先全部阻隔,再例外開放。

ufw防火牆

sudo ufw allow from 10.0.0.0/8 port 2222
sudo ufw allow from 163.20.0.0/16 port 2222
sudo ufw allow http
sudo ufw allow https
sudo ufw allow ntpdate
sudo ufw allow in 8080/tpc 
sudo ufw allow in 10000:20000/udp
sudo ufw enable

清除ufw規則
sudo ufw reset
ufw規則現況
sudo ufw status numbered

簡易防火牆


hosts.allow
hosts.deny
sudo -s
cp  /etc/hosts.allow /etc/hosts.allow-bak
nano /etc/hosts.allow

加入下列內容(先允許,後阻擋)
ALL:local :allow
ALL: 10.0.0.0/8 :allow

ALL: 163.20.0.0/16 :allow

sshd: ALL: deny


4.jtsi改中文和抬頭

預設中文 

編輯 jitsi-config.js文件
cd  /etc/jitsi/meet
cp   jitsi-config.js jitsi-config.js-bak
nano /etc/jitsi/meet/jitsi-config.js

藍色字部分為安裝時設定的主機名稱

找到
// defaultLanguage: 'en',


加入
defaultLanguage: 'zhTW',

重啟jitsi
/etc/init.d/jitsi-videobridge2 restart

改中文文字
主畫面文字
sudo nano /usr/share/jitsi-meet/lang/main-zhTW.json

到773最後面修改
"title": "安全、全功能、完全免費的視訊會議"
title下面的文字在上面一點750行的
"appDescription": "快來使用吧 ....."
至於左上角的logo位置在/usr/share/jitsi-meet/images/watermark.png
可以用瀏覽器開啟
 https://163.20.xx.xx/images/watermark.png
把圖檔下載儲存後上傳來改變。

上傳圖檔方法:
下載pscp.exehttps://the.earth.li/~sgtatham/putty/latest/w64/pscp.exe
把pscp.exe和改好的watermark.png放在putty同目錄。
例如pscp.exe和watermark.png放在下載資料夾中。
 開啟命令列提示字元
cd Downloads
scp watermark.png  user@ip:/home/user/

user是使用者帳號
再使用putty登入主機,執行下列指令
sudo -s
cp watermark.png /usr/share/jitsi-meet/images/watermark.png
完工

5.監看系統資源monitorix

sudo -s
cd
wget  https://www.monitorix.org/monitorix_3.12.0-izzy1_all.deb
dpkg -i monitorix_3.12.0-izzy1_all.deb
apt-get -f install

限定使用者看資料
cp  /etc/monitorix/monitorix.conf /etc/monitorix/monitorix.conf-bak
nano /etc/monitorix/monitorix.conf
找到
<auth>
                enabled = n
                msg = Monitorix: Restricted access
                htpasswd = /var/lib/monitorix/htpasswd
        </auth>

enabled =y
重啟monitorix
sudo service monitorix restart
增加密碼
sudo htpasswd -d -c /var/lib/monitorix/htpasswd admin

系統會要求輸必密碼兩次
看系統資源
http://ip:8080/monitorix