2016年12月21日 星期三
在網頁中預覽文件
後來看到 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-dataen_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 GB2312IP 設定
注意,要先執行 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[Match]
Name=enp*
[Network]
DHCP=yessystemctl enable systemd-networkd.service
systemctl start systemd-networkd.serviceNote 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.
設定時區 (使用 systemd)
# timedatectl set-timezone Asia/Taipei
# timedatectl set-ntp yes
# timedatectl set-local-rtc no
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 的大小
原來的 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 加入
-----------------
然後下指令
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:
/etc/modules-load.d/nvidia.confnvidia nvidia_modeset nvidia_drm
連接網芳
使用 gvfs,可在 Thunar 使用 "smb://servername/share" 來連接網芳的分享磁碟。
修改 /etc/samba/smb.conf,才能連 Windows 2003 ~ 2019 的網芳,不然會出現 "Failed to mount Windows share" 的訊息
在安裝 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。
音效
必須以普通使用者的身份,啟動 pulseaudio.service。控制界面,需安裝 media-sound/pavucontrol (Pulseaudio Volume Control, GTK based mixer for Pulseaudio)。
2016年12月20日 星期二
在 Windows 10 安裝 SQL Server 2000 的 Client 程式
步驟有點麻煩,但已有人整理出來,只要照著影片的步驟執行即可。
參考連結如下
http://dba.stackexchange.com/questions/112090/sql-server-2000-on-windows-10https://www.youtube.com/watch?v=xKoS6VyBaKU
- 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
- 修改 [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
這兩天,改用新買的華碩主機板,就開不起來了。
BIOS 設定 Windows UEFI mode ==> Other OS
Secure Boot,沒有 disable。
2016年10月10日 星期一
如何下載 YouTube 的縮圖
http://tubularinsights.com/download-youtube-thumbnail-images-creators-tip-120/
有兩種作法,其中一種非常簡單,另一種則要稍微花一些功夫。
下載自動產生的縮圖
只要透過 video ID,假設為 VIDEOID, 即可使用下述 URLS 抓到縮圖。Small auto-generated thumbnail 1 [120x90]
http://img.youtube.com/vi/VIDEOID/1.jpg
Small auto-generated thumbnail 2 [120x90]
http://img.youtube.com/vi/VIDEOID/2.jpg
Small auto-generated thumbnail 3 [120x90]
http://img.youtube.com/vi/VIDEOID/3.jpg
YouTube 會針對每個影片自動選 3 個縮圖,在 URL 分別以 1、 2 及 3 來代表。使用者可以選擇喜歡的縮圖。 不過,這些縮圖的像素只有 120x90,可能不符需求。
下載自訂縮圖
We all know how hit and miss auto-generated thumbnail images can be so if you want to download the custom thumbnail that you (or another creator) made then substitute the video id in place of VIDEOID in the following URLS. You'll note that there is a lot more flexibility with size options:小的自訂縮圖 [320x180]
http://img.youtube.com/vi/VIDEOID/mqdefault.jpg
中的自訂縮圖,4:3 比例 [480x360]
http://img.youtube.com/vi/VIDEOID/0.jpg
大的自訂縮圖 [1280x720 or 1920x1080] (只有當影片有 720p 或 1080p 的選項才有)
http://img.youtube.com/vi/VIDEOID/maxresdefault.jpg
以影片的 ID 為 'rVZDbNuLbOw',追縱原始碼得到下列的縮圖
https://i.ytimg.com/vi/rVZDbNuLbOw/maxresdefault.jpg
https://i.ytimg.com/vi/rVZDbNuLbOw/default.jpg
https://i.ytimg.com/vi/rVZDbNuLbOw/hqdefault.jpg
https://i.ytimg.com/vi/rVZDbNuLbOw/sddefault.jpg
