2016年12月28日 星期三

MediaElement.js 的使用

HTML5 media player 的挑選,首先,考量相容性。
MediaElement.js 最佳,在 IE8,判斷為 flash 模式,正常播放。
但在 Vivaldi 下,判斷為 native 模式,假如 libffmpeg.so 不支援 H.264,則無法播放。在其支援 H.264 後,則可以播放。我的電腦上的 Vivaldi 在播放影片,都沒聲音,原因不明。

Video.js 和 Plyr,受歡迎度很高,但在 IE8,整個版面都跑了,不能播放。

關於指定開始時間的作法,參考
http://stackoverflow.com/questions/7605930/how-to-set-start-time-offset-using-setcurrenttime

2016年12月23日 星期五

使用 Server 2008 Core

安裝 Server 200 Core,使用不到 10 GB 的空間。

使用 sconfig 設定電腦
參考: https://technet.microsoft.com/en-us/library/ff476070.aspx

Five Ways to Manage Server Core
http://windowsitpro.com/windows-server-2008/five-ways-manage-server-core

 Admin”s Guide to Server Core Commands
http://blogs.msmvps.com/ad/blog/2008/09/18/admin-s-guide-to-server-core-commands/

安裝 IIS,大小寫有差
c:\> start /w pkgmgr /iu:IIS-WebServerRole

或者,參考 Install PHP and FastCGI Support on Server Core
https://www.iis.net/learn/application-frameworks/install-and-configure-php-on-iis/install-php-and-fastcgi-support-on-server-core

c:\> start /w ocsetup IIS-WebServerRole
安裝 FASTCGI
c:\> start /w ocsetup IIS-CGI

管理工作
http://blog.yam.com/fingersworld/article/46683953

關閉防火牆指令
[netsh advfirewall set allprofiles state off]
參考: http://www.techrepublic.com/blog/the-enterprise-cloud/disabling-the-firewall-in-windows-server-2008-core-edition/

To enable remote administration from Windows Vista/Windows 2008; Write the command in the Windows shell:
 "Cscript %windir%\system32\SCRegEdit.wsf /ar 0" and press the "Enter" button.


連線網路磁碟
net use x: \\10.161.86.15\nas_bak
中斷
net use /delete x:

使用 Total Commander,就可以自由的 copy 檔案了。

2016年12月21日 星期三

在網頁中預覽文件

在原來的網站上,是用 Zoomify (http://www.zoomify.com/support.htm) 來達成文件預覽的功能。但是,其必須先將文件轉成圖檔。

後來看到 pdf.js 能夠提供 pdf 的預覽。 然後,又找到 viewerjs 能夠提供內嵌在網頁中預覽的功能。viewerjs 支援 pdf 和 odf 的文件,那就先將 office 的文件轉成 pdf 吧。

doc => pdf
http://mydailyjava.blogspot.tw/2013/05/converting-microsoft-doc-or-docx-files.html
http://www.thoughtasylum.com/blog/2012/12/20/vbscript-to-convert-microsoft-office-files-word-excel-powerp.html

以下是一個使用 pdf.js 來預覽 pdf 的網頁
http://docplayer.net/12992566-Altos-r380-f3-faq-frequently-asked-questions.html



其中,內嵌 iframe 如下
<iframe width="100%" height="700" frameborder="0"
    allowfullscreen=""
    src="/docview/28/12992566/"
    scrolling="no" 

    style="border-bottom: 2px solid #eee; border-top: 0px;" pages="86" 
    k_dim="70" 
    id="player_frame"
></iframe>

iframe 的 src,單獨顯示如下

http://docplayer.net/docview/28/12992566

問題與討論
https://www.bountysource.com/teams/kogmbh/issues?tracker_ids=386958

電腦重裝 Gentoo -- 摘記 (2016-12-20)

** 切記,裝好 kernel 和 grub 後,重開機前,一定要記得更改 root 的密碼。

自從 1994 左右,使用了 Gentoo 之後,自己的桌機,就一直是安裝 Gentoo Linux,配合工作上的需要,再在 VM 中安裝 Windows 系統。這樣的作法,感覺整個系統穩定多了。尤其,在使用 Windows 7 時,在關機時,動不動就在更新,非常令人火大。

使用 Gentoo,非常麻煩,每個 package 都要自行編譯後,才安裝,要花很多時間。在剛開始接觸時,還是使用賽陽的CPU,大概要花一個星期吧。就算是這顆 2013 年買的 i7-3930K,要到能使用 Xfce 4 的桌面,大概也要花掉 2 天的時間。不過,讓人樂此不疲的原因,是透過它在編譯的過程中,可以學到很多 Linux 和 Open source 的作法。

而且,Gentoo 的 portage 套件管理工具,這幾年越來越完善,很少會因為升級,而造成衝突。另外,透過滾動發行的作法,不用重裝系統,就可以所有的套件都保持在最新的版本。

首先,要找個可開機的系統來進行安裝。我個人喜歡使用 Ubuntu,在進入試用的環境下,可以一邊上網看安裝指引,一邊進行安裝。

安裝前,要先規畫安裝 Gentoo Linux 的硬碟分割。以下是目前自己在用的系統,硬碟的使用情形。

/dev/sda1       146M   27M  112M   20% /boot
/dev/sda3        79G   33G   43G   43% /

使用 500GB PCIe SSD 的分割情形 

                               Disk: /dev/nvme0n1
             Size: 477 GiB, 512110190592 bytes, 1000215216 sectors
          Label: gpt, identifier: FEA1EFAE-49CD-45B9-A15B-5A5EF9069055

    所用裝置              Start        結束       磁區    Size 類型
>>  /dev/nvme0n1p1         2048        6143       4096      2M BIOS boot        
    /dev/nvme0n1p2         6144      313343     307200    150M EFI System
    /dev/nvme0n1p3  313344    21284863   20971520     10G Linux swap
    /dev/nvme0n1p4     21284864   231000063  209715200    100G Linux filesystem
    /dev/nvme0n1p5    231000064  1000215182  769215119  366.8G Linux filesystem

使用空間的狀況

# df -h
檔案系統                  容量  已用  可用 已用% 掛載點
/dev/nvme0n1p4             98G   52G   42G   56% /
/dev/nvme0n1p5            361G   25G  317G    8% /home

在使用  "eselect profile" 選擇 profile 時,在安裝基本環境時,只選擇 "systemd",儘快裝好一個空的系統,確認可以重新開機。能編好 kernel,然後成功開機,這往往是初學者最困難的一步,也可以學到不少東西。

以 chroot 進入之後,假如記憶體夠,可以用 tmpfs,加快 emerge 速度

# mount -t tmpfs tmpfs /var/tmp/portage

關於 Gentoo 的 LTS 的 kernel,參考此網頁 Active kernel releases

在圖形界面,我個人喜歡用 gdm 登入,所以會選擇  "gnome/systemd",並且在 USE flags 加上 "cjk",讓它支援中文。這時候,大概得等到裝好一個輕量級的 Xfce 桌面,才能比較方便的使用新裝好的 OS。這過程,大概要一天吧,還是先用 Ubuntu,進 chroot 繼續後面的安裝步驟,直到有 xfce 可用。

在開機前,要裝好 grub,編好 kernel,更改管理者密碼。常常忘了設定管理者密碼,又要重新 chroot 一次,設定密碼。

更改 host name 的方式如下,便於分辨在那台機器上。

hostnamectl set-hostname aj-i9

為了提昇 emerge 套件的速度,並且避免頻繁寫入 SSD,記憶體也夠大,可以使用 tmpfs 來供安裝過程使用。emerge 過程,檔案是放在 /var/tmp/portage 的目錄下,在 chroot 中,手動 mount tmpfs 的指令如下。注意,tmpfs 的大小,一般不宜超過一半的記憶體。

# mount -t tmpfs -o size=4G,uid=portage,gid=portage,mode=755 /var/tmp/portage

裝好的系統,可以在 /etc/fstab 中,加上 tmpfs 的掛載,可以自行參考網路資料。https://wiki.gentoo.org/wiki/Portage_TMPDIR_on_tmpfs

有時,要暫時修改 tmpfs 的大小,可以執行下面的指令。
# mount -o remount,size=4G,noatime /var/tmp/portage

可以安裝 app-portage/cpuid2cpuflags,來偵測 CPU_FLAGS_X86 flags,然後將其加入 /etc/portage/make.conf 中。

在 /etc/portage/make.conf 中,我會加的設定。
ABI_X86="64 32";同時支援 64位元和32位元的程式庫,因為我會用 32 位元的 WINE。
GRUB_PLATFORMS="efi-64 pc";grub 同時安裝 efi 和 dos。

LINGUAS="zh_TW";中文的環境
L10N="zh-TW zh-CN"

INPUT_DEVICES="evdev keyboard mouse";X window 的設定
VIDEO_CARDS="vesa nouveau nv"
ALSA_CARDS="hda-intel"

設定時區

# echo "Asia/Taipei" > /etc/timezone
# emerge --config sys-libs/timezone-data
再來,修改 /etc/locale.gen,然後執行 locale-gen,產生 locale。
en_US ISO-8859-1
en_US.UTF-8 UTF-8
 zh_TW.UTF-8 UTF-8

zh_TW BIG5
zh_CN.UTF-8 UTF-8
zh_CN GB2312

IP 設定

注意,要先執行 systemd-machine-id-setup,建立 machine ID,journal 才會正常運作,service 才會正常起動,網路也才會起來。

建立檔案 /etc/systemd/network/50-wired.network

[Match]
Name=eno1
[Network]
Address=10.61.86.133/20
Gateway=10.61.80.1

[Address]
Label=eno1:1
Address=10.161.86.133/20
DHCP
[Match]
Name=enp*

[Network]
DHCP=yes

然後,設定服務
systemctl enable systemd-networkd.service
systemctl start systemd-networkd.service

Note that systemd-networkd does not update resolv.conf by default. To have systemd manage the DNS settings, replace resolv.conf with a symlink and start systemd-resolved.

ln -snf /run/systemd/resolve/resolv.conf /etc/resolv.conf
systemctl enable systemd-resolved.service
systemctl start systemd-resolved.service 

設定時區 (使用 systemd)
# timedatectl set-timezone Asia/Taipei
# timedatectl set-ntp yes
# timedatectl set-local-rtc no


大概就這些吧。

手動設定 IP:
ip addr add 10.1.1.2/16 dev eth1
ip link set eth1 up

設置 grub2

參考 https://wiki.centos.org/zh-tw/HowTos/Grub2

由 grub-0.97 直接跳到 grub-2.0,有方便的地方,但要一些適應才行。

設定檔為 /etc/default/grub,我習慣的設定如下:
# 預設的開機,儲存在 /boot/grub/grubenv 中的 saved_entry
GRUB_DEFAULT=saved
# 顯示全部的開機選項
GRUB_DISABLE_SUBMENU=y
# 不要建立復原開機選項
GRUB_DISABLE_RECOVERY="true"
# Boot with systemd instead of sysvinit (openrc)
GRUB_CMDLINE_LINUX="init=/usr/lib/systemd/systemd"

使用 BIOS 時,執行 grub-install --target=i386-pc /dev/nvme0n1 安裝 bootloader。使用 EFI 的話,有點小複雜,就先不折騰了。


在 kernel 建好之後,直接下 make install 指令,即可將 kernel 的 image複製到 /boot 下。
執行指令 grub-mkconfig -o /boot/grub/grub.cfg,建立開機選單。
注意,假如是把硬碟拔到別的電腦上 install 或 update,一定要在使用的機器上執行此指令,才能建立正確的 grub.cgf,不然會抓到不正確的硬碟資訊,重新開機時,會無法 mount root disk。

執行 awk -F\' '$1=="menuentry " {print i++ " : " $2}' /boot/grub/grub.cfg,列出開機時顯示的選單列表。
0 : Gentoo GNU/Linux,採用 Linux 4.9.16-gentoo
1 : Gentoo GNU/Linux,採用 Linux 4.9.16-gentoo.old
2 : Gentoo GNU/Linux,採用 Linux 4.4.52-gentoo.good
3 : Gentoo GNU/Linux,採用 Linux 4.4.52-gentoo
4 : Gentoo GNU/Linux,採用 Linux 4.4.52-gentoo.old

執行 grub-set-default 3,設定預設開機選項為 3。
執行 grub-editenv list,顯示儲存的設定如下
saved_entry=3

假如是升級 kernel,在使用 eselect 設定新的 kernel 後,要重新安裝相關的 package,不然會進不了圖形界面和 VM。
emerge -av x11-drivers/nvidia-drivers app-emulation/vmware-modules

2017-10-13 補記

重開機後,emerge -av xorg-server xterm twm,就可以進入 X window,有圖形介面了。
在此時,只需幾個小時,就有視窗可用了,真是快。

常用小工具
xfce4-notes-plugin
The notes are stored as text files in $XDG_DATA_HOME/notes/ (~/.local/share/notes by default).
The settings are in $XDG_CONFIG_HOME/xfce4 (~/.config/xfce4/xfce4-notes.*).
xfce4-clipman-plugin, 要安裝 x11-themes/gnome-icon-theme, 才會出現圖示

x11-themes/gnome-icon-theme 的 icon,還被一些應用程式使用,如 smb4k 及 krusader 等,不能隨便移除。


Kenel 升級

依序執行下列指令
cd /usr/src/linux-4.14.83-gentoo
cp ../linux/.config .
make menuconfig 
  => exit,save 設定
make -j8 && make  modules_install && make install
grub-mkconfig -o /boot/grub/grub.cfg awk -F\' '$1=="menuentry " {print i++ " : " $2}' /boot/grub/grub.cfg grub-editenv list grub-set-default 3 eselect kernel list eselect kernel set 1 emerge -av nvidia-drivers vmware-modules

修改 tmpfs 的大小

How to change tmpfs partition size in Linux ( RHEL / CentOS 7 )

原來的 tmpfs 大小,把 RAM 都吃光了
檔案系統        容量  已用  可用 已用% 掛載點
/dev/root        98G   28G   66G   30% /
devtmpfs        5.8G     0  5.8G    0% /dev
tmpfs           5.8G  507M  5.3G    9% /dev/shm
tmpfs           5.8G  1.2M  5.8G    1% /run
tmpfs           5.8G     0  5.8G    0% /sys/fs/cgroup
tmpfs           5.8G  140K  5.8G    1% /tmp
/dev/nvme0n1p5  361G   53G  290G   16% /home
none            4.0G     0  4.0G    0% /var/tmp/portage
tmpfs           1.2G   28K  1.2G    1% /run/user/1000

在 /etc/fstab 加入
-----------------
tmpfs /var/tmp/portage tmpfs rw,nosuid,noatime,nodev,size=4G,mode=1777 0 0
none    /var/tmp/portage  tmpfs   size=6144M,noatime  0 0
-----------------

然後下指令
mount -o remount /var/tmp/portage

LightDM 無法啟動

Create a new file called nvidia.conf in the /etc/modules-load.d directory. It should contain the NVIDIA module name:

FILE /etc/modules-load.d/nvidia.conf
nvidia
nvidia_modeset
nvidia_drm
確保在啟動 lightdm 之前,載入 nvidia_drm 的 kernel module

連接網芳

使用 gvfs,可在 Thunar 使用 "smb://servername/share" 來連接網芳的分享磁碟。

修改 /etc/samba/smb.conf,才能連 Windows 2003 ~ 2019 的網芳,不然會出現 "Failed to mount Windows share" 的訊息

----------------------------------------
  client min protocol=NT1
  client max protocol=SMB3
  ntlm auth = yes
----------------------------------------

在安裝 gnome-base/gvfs,use flag 要加上 fuse (Enables fuse mount points in $HOME/.gvfs for legacy application access)。Gentoo 則是放在 $XDG_RUNTIME_DIR/gvfs 的目錄下,其中 XDG_RUNTIME_DIR=/run/user/1000。

------------------------------------------------
 $ ls /run/user/1000/gvfs
'smb-share:server=10.161.86.149,share=wwwroot'
------------------------------------------------

音效

必須以普通使用者的身份,啟動 pulseaudio.service。控制界面,需安裝 media-sound/pavucontrol (Pulseaudio Volume Control, GTK based mixer for Pulseaudio)。

---------------------------------
systemctl --user start pulseaudio
systemctl --user status pulseaudio

$ systemctl --user enable pulseaudio
Created symlink /home/ajax/.config/systemd/user/default.target.wants/pulseaudio.service → /usr/lib/systemd/user/pulseaudio.service.
Created symlink /home/ajax/.config/systemd/user/sockets.target.wants/pulseaudio.socket → /usr/lib/systemd/user/pulseaudio.socket.

---------------------------------



2016年12月20日 星期二

在 Windows 10 安裝 SQL Server 2000 的 Client 程式

步驟有點麻煩,但已有人整理出來,只要照著影片的步驟執行即可。

參考連結如下

http://dba.stackexchange.com/questions/112090/sql-server-2000-on-windows-10
https://www.youtube.com/watch?v=xKoS6VyBaKU

安裝 SQL2000 步驟大致整理如下
  • copy CD to [SQL2000_CD_SP4]
  • 將 SQL2000 的 SP4 解壓縮至 [SQL2KSP4]
  • 用 [SQL2KSP4\x86\other\sqlredis.exe] 覆蓋 [SQL2000_CD_SP4\x86\other\sqlredis.exe] 
  • 建立目錄 [Microsoft SQL Server\80\Tools\Binn\] 及 [Microsoft SQL Server\MSSQL\Binn\]
  • copy [SQL2KSP4\x86\system\sqlunirl.dll] => [Microsoft SQL Server\80\Tools\Binn\] 及 [Microsoft SQL Server\MSSQL\Binn\]
  • 將[SQL2KSP4\x86\setup\] 目錄下的msvcp71.dll、msvcr71.dll、setupsql.rll、sqlresld.dll、zdatai51.dll 複製到 [Microsoft SQL Server\MSSQL\Binn\]
  • 將 [Microsoft SQL Server] 複製到 [c:\Program Files (x86)\]
  • 改變 [Microsoft SQL Server] 的 owner 為自己,並修改權限為完全控制,並勾選下層皆取代
  • 設定安裝程式 [SQL2000_CD_SP4\x86\setup\setupsql.exe] 的  compatibility
  • 然後以管理者身分執行 setupsql.exe
接著安裝 SQL2000 的 SP4,注意要選對語言
  • 修改 [SQL2KSP4\x86\setup\ setupsql.exe] 的  compatibility
  • 然後以管理者身分執行

上面整理好的檔案可以留下,方便以後安裝。

執行時出現下面的錯誤,將 c:\Program Files\Microsoft SQL Server\MSSQL\Binn\msvcr71.dll 複製到 c:\Program Files\Microsoft SQL Server\80\Tools\Binn\ 的目錄下即可。



2016年12月16日 星期五

xfce4-clipman-plugin 的 icon 不見了

使用剪貼簿的管理程式,在開發程式很有用。
在 Linux 的  Xfce 桌面環境下,配合使用的是 xfce4-clipman-plugin。

在將此 plug-in 加入面板後,曾經會有正常的 icon。但在另一台筆電,安裝好後,卻沒有 icon。

另外,在正常出現 icon 的系統,在執行 emerge --depclean,將非必要的 package 移除後,clipman 的 icon 就又不見了。

經過一陣子的搜尋後,發現必需要安裝 x11-themes/gnome-icon-theme,才能正常出現 icon,而自己不小心將它移除了。

重新安裝 x11-themes/gnome-icon-theme 後,clipman 的 icon 就又重新正常出現了。
This package is also needs for Xfce Desktop, so remember that do not remove this package.

2016-12-17,電腦昇級重組 -- 摘記

電腦昇級,為了重新調整各機器的配備,將一些硬體的規格,摘要的記錄於此,做個簡的備忘。

華碩 BM6875 準系統
電源 Support CPU up to 95W
配備的 CPU 為 i7-2770,功耗 77W,頻率 3.4GHz。

換下來的 CPU 及主機格
CPU i7-3930K 6核,頻率 3.2 GHz,功耗 130W。
搭配主機板 GA-X79S-UP5-WIFI

技嘉 GV-N650OC-1GI (rev. 1.0)
NVIDIA GeForece GTX 650,1GB GDDR5
PCI-E 3.0,TDP: 65W,需使用 400W 以上的電源供應器

華碩 ENGT430/DI/1GD3(LP)
NVIDIA GeForce GT430
PCI-E 2.0,DDR3 1GB,TDP: 49W

GeForece GT 640 的效能,是 GeForce GT430 的 155%。

不過,GA-X79S-UP5-WIFI 這塊主機板實在是太大了,華碩 BM6875 準系統的機殼相對變得太小,完全裝不下 。這個6核的CPU和主機板,只好另外找個特大的機殼來裝。




2016年12月13日 星期二

UEFI boot Gentoo

先前使用的技嘉主機板,有 UEFI 的功能,在前一陣子,把它改用 EFI boot。
這兩天,改用新買的華碩主機板,就開不起來了。
BIOS 設定 Windows UEFI mode ==> Other OS
Secure Boot,沒有 disable。

網誌存檔