程式相關
財金相關
winetricks
要確實安裝完成!遠端桌面連線
來登入X Window環境!$ export WINEPREFIX=~/.wine #這一行其實不需要,這一行在Ubuntu 64bit的環境才會一定需要!
$ export WINEARCH=win32 #這一行其實不需要,這一行在Ubuntu 64bit的環境才會一定需要!
$ wineboot #創建Wine的環境在~/.wine/資料夾下!
(它若是詢問要不要裝Wine Mono和Gecko,就直接安裝了!)
winetricks
來安裝群益API需要的套件!vcrun2010
是VC++ 2010的可轉散發套件,是群益API的SKCOM.dll檔需要的!vcrun2015
是VC++ 2015的可轉散發套件,是因為我有使用Visual C++ 2015來編譯一個簡單的程式!(程式碼參考來源) 我幾乎照抄,只有最下面的6111
換成TX00
(也就是台指期),然後帳號密碼換成自己的!
queue.h
還要額外自己上網下載來patch在Visual C++ 2010上!queue.h
它很大包,我沒有成功,超級麻煩的!queue.h
到Visual C++ 2012才被Visual Studio官方正式支援!dotnet40
是 .NET Framework 4.0,是為了Visual C#而裝的!Visual C#要透過dotnet40才能執行!而群益的範例程式SKCOMTester.exe
正是用Visual C#寫成的!
$ winetricks vcrun2010 vcrun2015 dotnet40
或是在ssh底下執行:
$ apt install xvfb
$ time xvfb-run winetricks -q vcrun2010 vcrun2015 dotnet40 #靜態安裝,不會秀UI,目前只試過幾次,看起來是有效的!不過還是要再看實測穩定性!
C#範例
,下載到CapitalAPI_2.13.16_CExample.zip
、放它到Ubuntu 32bit的環境裡並且解壓縮它!CapitalAPI_2.13.16_CExample
–>元件
–>x86
(建議把元件
改名成Components
,用英文比較好!)SKCOM.dll
:$ regsvr32 ./SKCOM.dll
Make sure that ntlm_auth >= 3.0.25
的問題!要解決這個問題,需要安裝winbind
這個套件:$ sudo apt install winbind
root certificate
並且自己透過IE5來安裝,以避免Wine內建的winhttp的HTTPS憑證的bug!$ cd
$ wget http://sslserver.twca.com.tw/cacert/root4096.crt
$ wine control
網際網路設定
–>內容
–>憑證...
–>選擇分頁信賴的根憑證授權者
–>匯入(I)...
,接下來選擇root4096.crt
這個檔,然後一直按下一步
,然後最後按完成
!此時你應該要看到以下的畫面:root4096.crt
的話,Wine的環境似乎就可以不用透過IE5安裝root4096.crt
!執行以下指令來在Linux系統裡安裝root4096.crt
:(不過還是要實測一下穩定性!)$ sudo cp -v ./root4096.crt /usr/local/share/ca-certificates/
$ sudo update-ca-certificates
SKCOMTester.exe
了!$ cd ~/Capital/Components/x86
$ wine ./SKCOMTester.exe
SK_ERROR_INITIALIZE_FAIL
的訊息,則代表剛剛root4096.crt
沒有匯入到正確的分頁裡!Wine的HTTPS的bug還沒有繞掉!登入成功
的訊息,則代表真的登入成功了!root4096.crt
之後,群益API就可以動了!但是目前還需要在X Window的環境下執行!我猜測是在ssh之下沒有X Window,所以IE5已匯入root4096.crt
的事實也一起被忽略了,所以又繞回使用wininet
失敗的窘境。可以的話,我希望能不使用X Window也能讓它吃到root4096.crt
根憑證檔!(不過我還沒trace這個case的WINEDEBUG log)root4096.crt
的事實也一起被忽略,而是我寫的skcom_test1.exe
雖然不是使用Visual C#寫的,但是它還是需要使用 .NET Framework 4.0的DLL檔,而且那個DLL檔似乎還一定要在X Window的環境下才不會有錯誤!這才是skcom_test1.exe
在沒有X Window的SSH環境下不能執行的原因!
skcom_test1.exe
!而非常幸運的,我找到了Xvfb
!(virtual framebuffer X server for X Version 11)Xvfb
的方法很簡單:$ apt install xvfb
- 使用`Xvfb`的方法也很簡單!請參考[這一篇](http://elementalselenium.com/tips/38-headless)!以我的case來講:
$ xvfb-run wine ./skcom_test1.exe
- 如果是有二隻程式需要在同一個`Xvfb`所建立出來的`$DISPLAY`下執行的話,建議還是用Option 1中提到的`export`的方法!(Option 1的變形請參考[這一篇](https://blog.csdn.net/Nobody_Wang/article/details/60887659)!)
root4096.crt
的那個視窗內!所以也許在X Window的環境之下,並不太需要擔心CA交易憑證匯入的問題!Asia/Taipei
,但是LXC VM的時區在安裝後都是錯誤的Etc/UTC
!Ubuntu機和LXC VM的時區是允許不同的!(神奇) 而要修改時區的話請參考這一篇文章!快速的修改方法和查詢方法是:$ sudo timedatectl set-timezone Asia/Taipei #時區改為Asia/Taipei
$ timedatectl #查詢目前時區
Local time: 三 2019-07-10 02:30:21 CST
Universal time: 二 2019-07-09 18:30:21 UTC
RTC time: 二 2019-07-09 18:30:21
Time zone: Asia/Taipei (CST, +0800)
Network time on: yes
NTP synchronized: yes
RTC in local TZ: no
or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Syncing