2021年10月5日 星期二

use Google Calendar API in web page via javascript

I am going to write this article in English, so my sister can read it.

First of all, u need to believe it is very easy, I just tried, here is step by step tutorial.

1. go to google console via your web browser.

https://console.developers.google.com/apis

you're gonna have to login to your google account first.

2. create a new project for this.

add a new project


click create


new project created

3. Enable "Google Calendar API" in the "Library" menu

click "Library" menu int the picture above.
search API "calendar" and press "Enter"

click "Google Calendar API" found.

click "Enable"

4. Create your app and set it up


click "CREATE CREDENTIALS"

choose "User Data" and click "Next"

name your app and choose your self as the app supporter


upload an icon for the app, type your EMail and save it

5. decide the information your users need to provide to you

so you can know who they are.

just click it.


choose what you want to know from your app users, for example, their email for further contact or event notify.

click "Update" after finish choosing

then save it 

6. create your app's client id and put it in your web page javascript

So the Google API server will know that it is your app, not others'.

name your client id that you will put in your web page javascript 

set the domain that you are going to use your app (the Google calendar API), so other hackers' domain will not be able to use it



click "Create" to create  your app's client id

copy it and past it in your notepad for latter use, as you can see, for testing purpose, you need to add users for testing this app. by default, no one can use it ! I will explain how to do it latter.

client id created, you can copy it again any time you want.

7. create your API key for google server to check your quota and access

for this project, you may create multiple API keys, and put them in different web page. So google will log their behavior separately.

create API key


API key created, you may want to restrict it's use from web page only, so other hackers will not be able to try it from the windows app they wrote.

make some restriction rules.

8. add app testing users

as we mentioned before, you need to add testing users, or no one can use it.

9. write the javascript in your web page

for Google Calendar API Reference:

https://developers.google.com/calendar/api/v3/reference

for javascript example, you can visit the following webapage.

https://developers.google.com/calendar/api/quickstart/js

please make sure you set your CLIENT_ID and API_KEY in the example code:

here is the result of the example code:





however, this example shows you only the way to login.
here is another example, please make sure you set your CLIENT_ID and API_KEY in the following code:


<!DOCTYPE html>
<html>
<head>
<title>Google Calendar API</title>
<meta charset="UTF-8" />
<meta name="description" content="test Google Calendar API">
<script src="https://apis.google.com/js/api.js"></script>   
</head>
<body>
<p>Google Calendar API</p>
<button id="loginButton">log in .</button>
<button onclick="add2EventAtCalendar()">add party events at 2021-10-10 and 2021-10-13</button>
<P>
<a href="https://calendar.google.com/calendar/r/month/2021/10/1?tab=rc" target="_blank">show Google 10/2021 Calender</a>

<script type="text/javascript">
var CLIENT_ID = '1031293676717-e1osoq4b89qm3njucjar6bo0jsg5qam3.apps.googleusercontent.com';
    var API_KEY = 'AIzaSyCF7YkpJ4lzepNYoKgSP8WBCsGMs0bqR-g';

    var authParams = {
  'response_type' : 'token',
  'client_id' : CLIENT_ID, 
  'immediate' : false,
'scope' : ['https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/calendar.events'] 
};

    //init
gapi.load("client:auth2", function() {
gapi.auth2.init({client_id: CLIENT_ID});
});

//login btn set onclick event
document.getElementById('loginButton').onclick = function(){
  gapi.auth.authorize(authParams, loginAndSetToken)
};

//login and set token
function loginAndSetToken(returnToken){
  if (returnToken && returnToken['access_token']) {
gapi.auth.setToken(returnToken);
console.log(returnToken)
setAPIandLoadClient();
  } else {
    alert("Auth failed");
  } }

//set API key and load client
function setAPIandLoadClient() {
gapi.client.setApiKey( API_KEY );
return gapi.client.load("https://content.googleapis.com/discovery/v1/apis/calendar/v3/rest").then(
function() { console.log("GAPI client loaded for API"); },
function(err) { console.error("Error loading GAPI client for API", err); }
);
}

//add 2 calendar events
function add2EventAtCalendar() {
alert("c1");
const events = [ {
'summary': 'Join the party No.1 at 10/20',
'location': 'My sweet home',
'description': 'https://www.cyccea.org.tw/',
'start': {
'date': '2021-10-20',
'timeZone': 'America/New_York'
},
'end': {
'date': '2021-10-21',
'timeZone': 'America/New_York'
}
},
{
'summary': 'Join the party No.2 at 10/26',
'location': 'My sweet garden',
'description': 'https://www.cyccea.org.tw/',
'start': {
'date': '2021-10-26',
'timeZone': 'America/New_York'
},
'end': {
'date': '2021-10-27',
'timeZone': 'America/New_York'
}
}];
//multi events
const batch = gapi.client.newBatch();

events.map((r, j) => {
batch.add(gapi.client.calendar.events.insert({
'calendarId': 'primary',
'resource': events[j]
}))
})
batch.then(function(){
console.log('2 events add successfully !')
});
}
</script>
</body>
</html>

and here is the result :






2021年10月1日 星期五

Andronix 手機變 Linux 桌機,學生開學買電腦!白買啦!學生省錢大作戰!


 大家好,我是快樂奧卡斯,今天我要介紹的是 Andronix,就是 Android 加 Linux,讓你的 Android 手機變桌機!

出門旅遊「手機辦公」真麻煩?學生買了手機,沒錢買電腦 ?用 Andronix 將 Android 手機變桌機,辦公、寫作業不再卡卡卡卡!

立刻馬上在手機或平板上,享用「桌機」版的 office、文書、簡報、和繪圖軟體,來大大大大的提昇辦公效率呦!商務出差,不再需要背著厚重的筆電,到了旅社飯店,手機直接連上電視,就可以開始辦公啦!

所有安裝流程,請看以下影片:

很多人都不知道,Windows 可以用 cigwin 來執行 Linux 程式,Linux 可以用 Wine 來執行 Windows 程式,而在 Android 上,可以用 Termux 來執行 Linux 程式,至於 「Andronix」,則是使用 「Termux」 ,來建立一個 Linux 桌面。

它們都不是虛擬機,所以不會佔用大量的「記憶體」和 「CPU」,直接橋接程式庫,讓執行速度飛快快快!

要安裝 「安卓你客司Andronix」 ,要先安裝,可以用來安裝「其他軟件」的「軟件」F-Droid,「F-著衣的」功能和 google 的「play 商店」 差不多,但它只針對「開放原始碼」的軟件,並會對軟件中「非開放原始碼」的部份發出警告,這對於「手機安全性要求高」的用戶,非常非常重要呦!

安裝4個軟體的第1個「F-著衣的 F-Droid」

「F-著衣的」的 「下載」和「安裝」,請看上面影片中的展示。

安裝4個軟體的第2個「特馬克思 Termux」

接下來,我們在「F-著衣的」搜尋並安裝 「特馬克思Termux」 軟件,請注意,安裝「特馬克思」需要 Android 7 以上的版本,「Google play 商店」也可以安裝舊版的「特馬克思」,但它和我們等等要安裝的「安卓-你客司」不相容喔!

安裝4個軟體的第3個「遠端桌面連線客戶端 VNC Viewer」

切換到手機桌面,啟動 Google 「Play 商店」,搜尋 v-n-c 空格 v-i-e-w-e-r ,按下「安裝」,這是「遠端桌面連結」,我們將透過它,來操作「桌機桌面」!

安裝4個軟體的第4個「安卓-你客司 Andronix」

接著再搜尋 a-n-d-r-o-n-i-x 並按下安裝,按下開啟,可以看到一堆 「安卓-你客司」 打包好的「閹割版」免費 Linux,常見的 ubuntu 、 Kali 、Debian  、 arch 、Manjaro 、fedora、void、 alpine 都有,畫面下面提供 Moded OS 則是要錢的,要錢的便利性會比較高,舉例來說,如果你手機有自己安裝記憶卡的話,它會自動幫你掛載到檔案總管裡,先試一個免費的 Ubuntu 20.04 CFCE 桌面版吧!它的桌面雖然比簡易還簡易,但可以把更多的「記憶體」和 「cpu」,全部都用在你的工作上呦。

Ubuntu安裝

按下安裝後,畫面上提示,「安裝指令」已經複製(至此,Andronix APP已經沒用途了,除非你想要反安裝,或是改裝其他的 Linux),視窗往下捲,按下「開啟 特馬克思Termux」,手指長按「手機螢幕」,再選擇「貼上」,按 Enter,開始進入 Ubuntu 安裝,詳細畫面步驟請參看上面影片介紹。

Ubuntu 安裝完畢,預設 vnc 桌面,只能從「本手機」連入 5901 port,輸入並設定 vnc 登入密碼,它同時會是「系統管理者」 root 的密碼,啟動 VNC 伺服器,閹割版 ubuntu 啟動完成,預設用系統管理者 root 登入,往後「系統異動」打指令,也不須加 「sudo」 來切換成系統管理者了

使用 VNC Viewer 連進手機裡的 Ubuntu 桌機桌面

此時,你是看不到這個桌面的,要看到這個桌面,須使用 VNC Viewer,啟動手機上剛剛安裝的 VNC 遠端桌面連結,新增一個遠端桌面,輸入本機 127.0.0.1:5901,連上去,他會提示連線沒加密,因為是本機,所以沒關係,按 OK,輸入剛剛設定的 VNC 密碼,第一次使用 vnc ,它想教你「如何操作」,答應它吧,除了常用的:

「兩指縮放螢幕」和「單指移動滑鼠」
「滑鼠右鍵」是「兩指一起按」
「滑鼠中鍵」是「三指一起按」
「滑鼠滾輪」是「兩指拖拉」
「圈選文字」或「移動視窗」是「單指點兩下拖拉」
「螢幕頂端」向下滑,可以顯示「工具列」
「工具列」中的「鍵盤鈕」可喚出「螢幕鍵盤」
「工具列」中的「滑鼠鈕」可喚出「螢幕滑鼠」

關閉教學,就看到「桌機」桌面囉,說了老半天,建議你還是跟我的片頭一樣,用 OTG 外接「滑鼠、鍵盤、和繪圖板」,使用起來才方便!

首次使用手機上的 Ubuntu 桌面,建議先縮小「螢幕解析度」,讓「螢幕字體」變大,點進「檔案總管」,可以看到一個路徑「SDCard」,點進去其實是手機內存路徑,這樣可以方便你和 Andorid 手機互換檔案。

如何重新啟動這個閹割板的 ubuntu

先說如何重新啟動這個閹割板的 ubuntu,手機切換回 「特馬克思」視窗,輸入 Exit 可以將 ubuntu 瞬間關機,輸入 ls 可以查看 「安卓-你客司」 的檔案配置,輸入 bash 空格 start 減 ubuntu20.sh 可以啟動 ubuntu,瞬間啟動完成,因為它只是橋接啦!

安裝中文4步驟-1.安裝這個閹割板 ubuntu 的螢幕中文字型

這個閹割版的 ubuntu,沒有中文字型,所以上網中文都是亂碼,安裝中文很容易,只要安裝所有 zh 和 chinese 開頭的「語言包」和「字型」,我會將指令寫在影片下方供你複製使用。

影片11分17秒 安裝中文支援 以及 中文字型 指令

sudo apt-get install language-pack-zh*

sudo apt-get install chinese*

sudo apt-get install fonts-arphic-ukai fonts-arphic-uming fonts-ipafont-mincho fonts-ipafont-gothic fonts-unfonts-core

再次打開瀏覽器,中文就正常顯示了。

安裝中文4步驟-2.設定中文輸入法 gcin 安裝來源

影片11分45秒,安裝中文輸入法 gcin 須在 /etc/apt/sources.list 檔案的開頭,加上兩行內容如下:

deb http://www.calno.com unstable main
deb-src http://www.calno.com unstable main

安裝中文4步驟-3.安裝 gcin 所需元件、gcin輸入法、和輸入法切換 的指令

影片11分45秒,接著使用終端機,輸入指令安裝 cgin 的元件、輸入法、和輸入法切換:

sudo apt-get update
sudo apt-get install libappindicator3-1 gcin im-switch

安裝中文4步驟-4.修改 xfce 桌面輸入法設定檔,改成採用 gcin 輸入法

影片12分26秒,修改 xfce 桌面輸入法設定檔/etc/xdg/xfce4/xinitrc,檔案的開頭,加上以下內容,改成採用 cgin 輸入法:

export LC_CTYPE=zh_TW.UTF-8
export GTK_IM_MODULE=gcin
export XMODIFIERS="@im=gcin"
gcin &

以上主要是要設定,語言使用中文 zh_TW,輸入法使用 gcin,最後一行代表重新啟動 cgin 服務。

存檔後,用前面講過的方法,重新啟動 ubuntu,設定才會生效喔!

安裝 LibreOffice

打開 ubuntu 預先安裝好的 libreoffice,如果找不到,也可以自己打指令來安裝:

apt install libreoffice 

按下 ctrl - 空白鍵,切換中文輸入法,中文輸入成功!

安裝比美 PHOTOSHOP 的繪圖軟體 GIMP

再來安裝比美 PHOTOSHOP 的繪圖軟體 GIMP,安裝指令是:

apt install gimp

安裝影片剪接軟體 kdenlive

安裝指令是:

apt install kdenlive

安裝比美 Illustrator的向量繪圖軟體 InkScape

安裝指令是:

apt install inkscape

安裝寫程式的軟體 Net-beans

爸爸也想安裝看看它寫程式的軟體 Net-beans,安裝指令是:

apt install netbeans

測評:

是不是所有 linux 上的軟體都能安裝呢,答案絕對是否定的,舉例來說,微軟 Linux 版的的 vscode 和 mssql 資料庫,只支援 AMD64 cpu,不支援手機的 ARM cpu,所以無法安裝,其他像是「中文桌面」、「Ubuntu 軟體中心」、顯卡導向的「vlc」、「shot-cut」、「i386 cpu 的 wine32」、「我和弟弟玩街機電動的MAME」,還有「爸爸寫程式用的 eclipse」,在這個「閹割版」的  ubuntu 上,目前都還無法安裝,或是安裝後無法使用呦,好了,今天的節目到此為止,記得按讚、分享和按下小鈴鐺喔! bye bye !

補充說明:從其他電腦的 VNC viewer 連進手機裡的 Ubuntu 桌機桌面

如果要從其他電腦的 VNC viewer 連進手機裡的 Ubuntu 桌機桌面呢?首先你要讓這台電腦,和手機在同一個網段裡,最簡單的方法,就是事先設定手機 wifi 熱點,將網路分享給這台電腦,接著,你要在 Ubuntu 中安裝網路管理工具,指令如下:

apt install net-tools

再執行以下指令查看 Ubuntu 的 IP 位置(你也可以直接到Android手機裡的設定查看):

ifconfig

然後執行以下指令停止 VNC Server:

vncserver-stop

再執行以下指令,啟動 VNC Server 使用「非本機」連結:

vncserver-start -localhost no

如此,這台電腦就可以透過 Ubuntu 的 IP 連上來了!

本篇文章來源:

https://arielfunox.wixsite.com/cool/post/andronix-%E6%89%8B%E6%A9%9F%E8%AE%8A%E6%A1%8C%E6%A9%9F%EF%BC%8C%E5%AD%B8%E7%94%9F%E9%96%8B%E5%AD%B8%E8%B2%B7%E9%9B%BB%E8%85%A6%EF%BC%81%E7%99%BD%E8%B2%B7%E5%95%A6%EF%BC%81




2020年3月4日 星期三

串接 Line webhook


登入Line開發者平台「Line Developers」


使用瀏覽器進入網址https://developers.line.biz/zh-hant/如下圖,按下「Log in」按鈕登入。



點選「使用Line帳號登入」,接著視窗會要求您輸入您的 Line 帳號與密碼進行登入。



建立「訊息開發套件Message API」帳號


點選左側功能目錄「Message API」,接著按下「Start Now」按鈕。



設定「姓名Your name」、「電子郵件Your email」、打勾「我已經閱讀和同意使用條款I have read and argree ..... 」,按下「建立帳號Create my accont」按鈕。



建立一個訊息頻道「Create a channel」


接著,「頻道類別Channel type」請選擇「訊息開發套件Message API」,「頻道內容提供者Provider」,請選擇「建立一個新的提供者Create a new provider」並輸入頻道提供者名稱後,利用按下「頻道簡圖Channel icon」欄位的「圖片註冊Register」鈕來上傳頻道的簡圖。


頁面向下捲動,接著輸入「頻道名稱Channel name」,「頻道描述Channel description」,在「頻道類別Category」和「頻道次類別Subcategory」挑選適當的類別。


頁面再向下捲動,輸入「電子郵件信箱Email address」,至於兩個非必填欄位關於頻道提供者「隱私政策網址privacy policy URL」和「使用條款網址Terms of use URL」若無則可不填,打勾兩個我已經閱讀和同意Line官方帳號和開發套件使用條款勾選鈕,即可按下「建立Create」按鈕,完成一個訊息頻道的建立。

讀取Line開發者平台中的「頻道存取代幣密鑰碼Channel access token」並設定到本公司人工智慧AI平台中


從此,登入Line開發者平台「Line Developers」就會看到以下的畫面(此畫面第一次建立和日後修改,是稍微不同的),這是一個新建立的頻道,接著按下右側的頻道圖片。


畫面如下,其中 「Bot basic ID」,它就像是網址一般,是可以由使用者自訂的,自訂之後也可啟用「讓他人搜尋」的功能,若將這個欄位設定進入我們系統中,我們系統便可產生「加入此Line@群組」的QRCode,按下「訊息開發套件Message API」資料夾,我們將開始進行Line伺服器與我們伺服器之間的互動設定。



畫面向下捲動,一直到「頻道存取代幣密鑰碼Channel access token」,按下右側的「發行issue」按鈕。



如下圖,將這一長串新出現的字串複製。


貼回本公司人工智慧AI平台目錄「61 AI管理\03 AI基本設定」的「Channel access token」欄位。


設定頻道串接「webhook」


接著改按下「Auto-reply message」右側的「Edit」按鈕。



它會跳出一個新的視窗頁面,左側目錄已經自動選了「回應設定」,畫面向下捲動,一直到「進階設定」欄位,先「停用」「自動回應訊息」,啟用「網路串接搭勾webhook」,按下「Message API設定」按鈕。


畫面如下,將本公司為您專屬發行的「Webhook URL」設定進入此處的「webhook」網址。


至於本公司為您專屬發行的「Webhook URL」來源,請直接進入本公司系統目錄「61 AI管理\03 AI基本設定」,複製您專屬的「Webhook URL」即可。

2017年12月19日 星期二

使用 Limbo x86 App 在 Android 上安裝 Windows


使用 Limbo x86 App 在 Android 上安裝 Windows
Run Windows on Android via Limbo x86

為什麼要在 Android 上安裝 Windows ?

當初筆者在 Android 上安裝 Windows,純粹只是想要在手機上執行 Adobe Dreamweaver 這套超好用的網頁編輯軟體,如此只要再搭配一個微型投影機,出外旅行時,就不用背著笨重的筆電到處跑,當然,這個願望很容易就達成了,所以才會產生這篇文章,但是因為 Windows 是採用 x86 或 x64 系列的 cpu,和一般使用 AMD 或 AMD64 cpu 的 Android 手機之間,存在太多的轉換,即使是少見的 X86 Android 手機,中間執行與轉換速度還是超級慢,所以筆者後續仍舊繼續使用 Android 上開源的 Turbo Edit 編輯器不算短的時間,而最後,則是採用開源的 Apache Orion 解決方案,利用手機上現成的瀏覽器充當網頁編輯器,來達到利用手機工作,在手機上撰寫網頁程式的目的。

選擇並安裝 Android上的 X86 虛擬機 - Limbo x86

動工前,在網路上爬了一堆國外的文章,已經知道要在 Android 上跑 Windows 作業系統,速度將會非常的慢,由於不願意安裝最輕量版但支援度過低的 Windows 95,所以筆者就從 Windows XP 開始玩起,方法很簡單,先在 Android 手機上的 Play Store 搜尋並安裝 Limbo x86 這套可以模擬 x86 電腦的虛擬機 App,之所以選他,主要還是因為他是由 QEMU 這套老牌的通用平台虛擬機改版過來,相信穩定度應該不錯,果然,穩定度超高,光是安裝 Windows XP 就花了我超過 8 個小時的時間,而且中途都沒有當機!看到 8 小時先不要氣餒,其實 Windows XP 在 Android 較為高端的手機中,不論是使用滑鼠還是鍵盤打字,都還算非常流暢,就是啟動程式與隨便切換一個視窗,常常要等個 10-20 分鐘而已!!! Windows 開機與關機的時間,當然也都超過 20 分鐘以上,附帶一題,筆者所使用的手機型號如下:
Sharp Z2 十核心 cpu, 4G RAM

Limbo設定畫面 - 以安裝 Windows XP 為範例

在 Play Store中找到 Limbo x86 ,完成安裝並開啟。


Limbo畫面如下,按下「Load Machine載入虛擬機」欄位「None」右方的向下箭頭選項。


選擇「New」來建立一台虛擬機。


替新的虛擬機取名字,此處使用「xp」,並按下「Create建立」按鈕,建立新的虛擬機。


虛擬機設定畫面如下圖,在開始設定之前,須說明的一點,就是不同的手機硬體配置,以下的設定不見得會完全相同,如果設定了一項手機硬體不支援的選項,通常就是虛擬機一開機就直接黑屏當掉回到此處的設定頁面,或是開機之後一直黑屏沒反應超過10分鐘以上,此時,使用者可以變換不同的設定試試看。
「Architecture架構」此處選用 x86,如果你想要安裝 64 位元的 Windows版本,且手機 cpu 有支援64位元,則可以選擇 X64。
「Machine Type架構」選用 pc。
「CPU Model中央處理器型號」選用 pentium,事實上,國外有的網站建議使用QEMU虛擬器提供的qemu32,但在筆者的手機上,只有選用 pentium的時候,開機才不會當掉,所以如果你設定完成後虛擬機無法順利開機,可能此處要試著切換不同的選項。
「CPU Core核心數量」選用1,同樣的,有國外網站建議使用4(如果你的手機有到達4顆CPU的話),但在筆者的手機上,只有選用1,虛擬機啟動的時候才不會當機。
「RAM Memory(MB)記憶體數量」選用480,這需要視你的手機有多少記憶體而定,雖然筆者的手機有 4G RAM,但選用超過480MB時,虛擬機啟動的時候必然當機。


「Storage \ Hard Disk A:第一個硬碟」先勾選此欄位左方的勾選紐,再點選右方的向下箭頭紐,利用「New」選項建立一個新的虛擬機檔案,並在出現的命名視窗中,為他取一個檔名例如「xp」,到時候我們會將 Windows XP 安裝在這個虛擬硬碟中,這個虛擬硬碟的檔案,會在手機內存的 limbo \ machines \xp 路徑下叫做 xp.qcow2。
「Removeable Storage \ CDROM光碟機」先勾選此欄位左方的勾選紐,再點選右方的向下箭頭紐,挑選 Windows XP安裝光碟的 iso 檔案,由於版權問題此處無法提供,但是讀者很容易在網路上 google 到 Windows XP的安裝序號,並下載可開機的中文或英文版 Windows XP 安裝光碟 iso 檔案,你可以先將 iso 檔案複製到手機上的外接記憶卡中方便此處挑選,如果你想從 Windows XP 安裝光碟直接轉成 iso 檔案來使用的話,記得製作 iso 檔案的時候,要包含進去開機資訊,否則轉出來的 iso 檔案,雖可以在 VBOX 這類的商用虛擬機中開機,但在此處是開不了的,如果你不知道你的 iso 檔案是否包含開機資訊,可以上網找一下例如 Winiso 這類的小軟體,他可以幫你檢查,或是替你將光碟片中的開機資訊,複製出來,存到你的 iso 檔案中。


「Graphics \ VGA Display螢幕顯示」選用標準「std」驅動程式即可。
「Audio \ Sound Card音效卡」可使用「sb16」驅動程式,但非常建議選用「None無音效卡」,這樣已經夠慢的虛擬機速度會快些,只是不會有聲音而已。
「NetWork\ Network網卡」可使用「User」選項,配合「Network Card網卡型號」欄位使用「ne2k_pci卡驅動程式」,但如果你用不到網路功能的話,非常建議「NetWork\ Network網卡」欄位直接選用「None無網卡」,這樣已經夠慢的虛擬機速度會快些,只是不會有網路而已。


「Boot Settings \ Boot from Device開機設備順序」可使用 Default,他會試著依序使用「Floppy磁碟」、「CD ROM光碟」與「Hard Disk硬碟」來開機,所以 Windows XP安裝完成後,可以將前面 CDROM 選項移除,或將此處改為「Hard Disk硬碟」來開機
「User Interface \ User Interface 使用者界面」可選用「SDL」直接在手機螢幕顯示虛擬機桌面即可,此處另外一個選項「VNC」可讓使用者透過網路從遠端經由 VNC 客戶端軟體,連上來操控虛擬機的桌面,就是操控此處 Windows XP 的桌面。
「User Interface \ Orientation 螢幕方向」建議直接定死「Landscape橫式螢幕」,以免手機正拿橫拿的時候,畫面一直「橫式」與「直式」切來切去,而且當畫面直式顯示的時候,Windows XP 虛擬機的畫面依舊是橫式,就會變得畫面非常小,只佔據整個螢幕的上半部。
「User Interface \ Show Toolbar顯示鍵盤和滑鼠切換工具紐」請打勾,到時候會有一個鍵盤和一個滑鼠圖案在螢幕的最上方,點按鍵盤圖案,就可以啟用手機的螢幕鍵盤,並在虛擬機中打字,點按滑鼠圖案,就可以用螢幕當作「觸控板」,沒錯,是觸控板,也就是你在螢幕上滑動手指,虛擬機中滑鼠指標,會跟著手指的相對位置移動,而不是手指移動到那,滑鼠指標就出現到那,「滑鼠左鍵」就是手機上的「音量調大按鈕」,但是很不靈敏,「輕觸螢幕一下」,也是代表滑鼠左鍵,則非常靈敏好用,「滑鼠右鍵」就是手機上的「音量調小按鈕」,則非常靈敏。
「User Interface \ Fullscreen 全螢幕顯示」建議請打勾,看得會比較清楚,即使如此,其實螢幕還是太小,根本看不清楚,除非是外接大螢幕或投影機,才會比較清楚。


「Advance 進階選項」可以不管他們,基本上,因為 Windows XP 不支援 「HPET晶片中的硬體計時器」,所以筆者將「Disable HPET」打勾代表停用,至於「High Priority高優先等級執行序」,筆者將他打勾了,但速度還是很慢,由於當手機過忙時,這樣也許會影響到手機其他 App 的效能,所以讀者可自行斟酌是否勾選。


Windows XP 虛擬機...由安裝光碟開機!

所有的設定都設定好了,回到畫面最上方,按下啟動紐,替虛擬機開機。


他會出現例如 Boot from CDROM 等字樣,然後就進入 Windows XP 的安裝畫面。


安裝過程非常的久,請耐心等待,否則很容易就誤判為當機了,這中間會要求使用者輸入使用者名稱、所屬組織、電腦名稱與系統管理者的密碼等等,請直接按畫面上方的滑鼠與鍵盤紐,來輔助輸入相關設定,鍵盤輸入與滑鼠操作其實速度還蠻流暢的,筆者則是使用 OTG 線,外接了實體鍵盤和滑鼠來操作,如果你有藍芽滑鼠鍵盤,也可以拿來使用。


由於筆者第一次沒有預期他會安裝那麼久,所以中途手機沒電自動關機,重開機後Windows XP自動清除安裝失敗的暫存檔案,如下圖,自動重新再安裝一次,原來安裝過程超過 8 小時。


系統即將安裝完畢。


Windows XP 即將啟動。


輸入安裝過程中,使用者所設定的系統管理者密碼,以便登入 Windows XP 虛擬機。


登入Windows XP 虛擬機的畫面







備份 Limbo 虛擬機檔案

本機註冊與啟用Windows XP、和 XP 自動登入等等設定,都可以透過 google 在網路上應輕易的找到,此處就不贅述,下圖是由筆者的筆電透過 USB 線連結手機所抓的圖,而 Limbo 存放虛擬機檔案的位置,位於手機內部儲存空間的 limbo \ machines 路徑下,如果你要備份的話,記得先關閉虛擬機,再進行備份此處的檔案。