2021年12月3日金曜日

VirtualBox on Windows10 のディスプレイ解像度

私の使っているノート型 PC (Windows 10) のディスプレイは 12.1 型ですが解像度が 1920×1200 あり、等倍で使うには文字が小さくなりすぎたりしますので、Windows 10 の設定([設定]-[システム]-[ディスプレイ])では推奨の 125% としています。

このノートPC 上の VirtualBox 仮想マシンで CentOS, AlmaLinux などをテストなどの目的で使っています。仮想マシン上の Linux で GNOME を使ったりすると、やはり表示が小さくなるので、VirtualBox (6.1.30) の [設定]-[ディスプレイ]-[表示倍率] を、特に何も考えず Windows の設定と同じ 125% にしていたら、特にターミナルなどに表示される文字が全然滑らかに表示されず、ビットの目立つカクカクした表示になっていました(Virtualbox Version 6 になってからだと思います)。VirtualBox の不具合だと思っていたので、そのような状態で我慢して使っていました。

最近、たまたま VirtualBox の仮想マシンの画面を外付けディスプレイ(100% 表示)に表示させてみると、なんと、文字などが滑らかに表示されることに気づきました。 VirtualBox の不具合だけでもないことが分かったので、いろいろな設定の組み合わせて試してみたところ、

VirtualBox [設定]-[ディスプレイ]-[表示倍率]: 120%

にすることで、それなりの文字サイズで、かつ、きれいな表示が得られることが分かりました。(上記の Windows 設定のほうの倍率とは独立している感じです)

たぶん1年以上、上のような状態で使っていたのですが、作業が非常に快適になりました。おそらく VirtualBox の表示が Windows 10 の表示スケーリングにうまく対応できていないのだと思われます。情けないやら、嬉しいやら。どこかに書かれているかもしれませんが、同様にお悩みの方がいらっしゃるかもしれませんので、共有します。

2021年4月29日木曜日

LaTeX 文書に PNG 画像を取り込む

知っている人には常識かもしれませんが、LaTeX 文書に PNG とかの画像ファイルを取り込むとき、

\documentclass[dvipdfmx]{jarticle}
\usepackage{graphicx}

のように \documentclass{} のオプションに "dvipdfmx" を書いたうえで、文書中に

\includegraphics[width=5cm]{aaa.png}
などと書いて
platex a.tex
dvipdfmx a.dvi

で a.pdf ができ、無事 aaa.png が文書に取り込まれます。

私の(昔の)知識では、"dvipdfmx" は graphicx パッケージ専用のオプションと思っていて、ずっと

\usepackage[dvipdfmx]{graphicx}

のようにしていたのと、 EPS 形式以外の画像ファイルは、platex にかける前に

ebb aaa.png

などとして BoundingBox の情報を取り出しておく必要がありました。なのでそれが面倒なので、画像ファイルをいちいち GIMP などで EPS 形式に変換していました...

TeX Wiki の記事によると TeX Live 2015 以降でこのようになっていたようです。便利にしてくださった方々に感謝です。

環境

  • CentOS Linux release 8.3.2011
  • TeX Live 2020 (本家配布の ISO ファイルを使用してインストール)

2020年4月18日土曜日

Illustrator CC に数式を入力する

Linux 関係ない話題です。
GMT や GNUPLOT などで描いた図を Illustrator で修正したいことが良くあります(私の場合)。で、ちょっとした数式を図の中に書き込みたいときに良い方法を見つけたのでメモしておきます。

それは、LibreOffice で数式を入力し、そのオブジェクトをコピー、Illustrator にペーストする、という方法です。複雑な式は試していませんが、例えば
a \prop b_n
とか LibreOffice Impress で入力したものをコピペすれば、Illustrator 上でも文字として認識されています。
試した環境は下記です。

  • Windows 10 1909
  • LibreOffice 6.3.5.2
  • Illustrator 24.1.1
うまくいかなかった方法としては:

  • MS Office 2016 の数式エディタで入力した数式をコピー&ペースト

2015年6月3日水曜日

gdal 1.11.2, cmake 3.2.3, GMT 5.1.2 install on Vine Linux 6.3

GMT5のインストール方法です。それに必要な cmake を入れます(Vine Linux 6.3 のパッケージにある cmake は 2.8.3 ですが、GMT5 では 2.8.5 以上が必要とのことです)。ついでに gdal も入れました。

なお、NetCDF も必須です。以下の手順ではすでに入っているものとして進めています。まだの方はこちらをご参照ください。

gdal 1.11.2

cd /tmp
wget http://download.osgeo.org/gdal/1.11.2/gdal-1.11.2.tar.gz
gtar xfvz gdal-1.11.2.tar.gz
cd gdal-1.11.2
./configure --prefix=/usr/local/gdal
make -j 2
sudo make install
vi ~/.bashrc
PATH="$PATH":/usr/local/gdal/bin

cmake 3.2.3

cd /tmp
wget http://www.cmake.org/files/v3.2/cmake-3.2.3.tar.gz
gtar xfvz cmake-3.2.3.tar.gz
cd cmake-3.2.3
less README.rst
./bootstrap --help
./bootstrap --prefix=/usr/local/cmake
make
sudo make install
vi ~/.bashrc
 PATH="$PATH":/usr/local/cmake/bin
PATH="$PATH":/usr/local/cmake/bin

GMT 5.1.2

cd /tmp
wget ftp://ftp.scc.u-tokai.ac.jp/pub/gmt/gmt-5.1.2-src.tar.gz
wget ftp://ftp.scc.u-tokai.ac.jp/pub/gmt/dcw-gmt-1.1.1.tar.gz
wget ftp://ftp.scc.u-tokai.ac.jp/pub/gmt/gshhg-gmt-2.3.4.tar.gz
gtar xfvz gmt-5.1.2-src.tar.gz
gtar xfvz gshhg-gmt-2.3.4.tar.gz
gtar xfvz dcw-gmt-1.1.1.tar.gz
cd gmt-5.1.2/cmake
cp -i ConfigUserTemplate.cmake ConfigUser.cmake
vi ConfigUser.cmake
set (CMAKE_INSTALL_PREFIX /usr/local/gmt5.1.2)
set (GSHHG_ROOT /tmp/gshhg-gmt-2.3.4)
set (COPY_GSHHG TRUE)
set (DCW_ROOT /tmp/dcw-gmt-1.1.1)
set (COPY_DCW TRUE)
set (NETCDF_ROOT /usr/local/netcdf/)
set (GDAL_ROOT /usr/local/gdal/)
set (LICENSE_RESTRICTED off)
cd ..
mkdir build; cd build
cmake ..
make
sudo make install
cd /usr/local
sudo mv -i gmt gmt4.5.13
sudo ln -s gmt5.1.2 gmt

test

cd /tmp
gmt pscoast -JM16.0c -R128/148/28/46 -Dh -Ba5f1WSne -W1p -P > gmt.ps

GMT5について

GMT4までの使い方でも、ある程度は互換性が保たれているようですが、オプションの使い方や、変数名がかなり変更されていますので、少なくとも Cookbook 5,6章に目を通されることをおすすめします。

2015年1月17日土曜日

NetCDF 4.3.2, NetCDF Fortran 4.4.1, GMT 4.5.13 install on Vine Linux 6.2

GMT4のインストール方法です。ただし NetCDF Fortran は、ついでにインストールしただけで、GMTには不要です。

GMT5はまだ試していません。

netcdf


cd /tmp
wget http://www.gfd-dennou.org/library/netcdf/unidata-mirror/netcdf-4.3.2.tar.gz
wget http://www.gfd-dennou.org/library/netcdf/unidata-mirror/netcdf-fortran-4.4.1.tar.gz
gtar xfvz netcdf-4.3.2.tar.gz
cd netcdf-4.3.2
./configure --prefix=/usr/local/netcdf --enable-netcdf-4 --disable-dap
make check
sudo make install
cd ..
gtar xfvz netcdf-fortran-4.4.1.tar.gz
cd netcdf-fortran-4.4.1
CPPFLAGS="-I/usr/local/netcdf/include" \
 LD_LIBRARY_PATH=/usr/local/netcdf/lib:${LD_LIBRARY_PATH} \
 LDFLAGS="-L/usr/local/netcdf/lib" \
 ./configure --prefix=/usr/local/netcdf
make
make check
sudo make install
sudo vi /etc/ld.so.conf
 include ld.so.conf.d/*.conf
 /usr/lib64/sane
 /usr/local/netcdf/lib  #<= 追加  
sudo ldconfig

GMT

cd /tmp
wget ftp://ftp.iris.washington.edu/pub/gmt/gmt-4.5.13-src.tar.bz2
wget ftp://ftp.iris.washington.edu/pub/gmt/gmt-4.5.13-non-gpl-src.tar.bz2
wget ftp://ftp.iris.washington.edu/pub/gmt/gshhg-gmt-2.3.4.tar.gz
bzcat gmt-4.5.13-src.tar.bz2 | tar xfv -
bzcat gmt-4.5.13-non-gpl-src.tar.bz2 | tar xfv -
cd gmt-4.5.13
./configure --prefix=/usr/local/gmt --enable-triangle \
 --disable-flock --enable-eps \
 --enable-netcdf=/usr/local/netcdf \
 --enable-octave=/usr/lib64/octave/
make all
sudo make install-all
cd ..
gtar xfvz gshhg-gmt-2.3.4.tar.gz
cd gshhg-gmt-2.3.4
sudo mkdir -p /usr/local/gmt/share/coast
sudo mv * /usr/local/gmt/share/coast/

test

cd /tmp
pscoast -JM16.0c -R128/148/28/46 -Dh -Ba5f1WSne -W1p -P > gmt.ps

2012年8月4日土曜日

Octave 3.6.2 install on Vine Linux 6.1

Vine Linux 6.1 に Octave 3.6.2 をインストールしてみました。試行錯誤の上、前回 (3.6.1) とくらべて下記の赤字の部分を変更(追加)しました。

$ sudo apt-get install hdf5 hdf5-devel blas blas-devel \
 lapack lapack-devel ImageMagick-devel ImageMagick-c++-devel fftw3 \
 fftw3-devel glpk glpk-devel glpk-utils qhull qhull-devel suitesparse \
 suitesparse-devel pcre-devel fltk fltk-devel gperf
$ cd /tmp
$ wget http://ftpmirror.gnu.org/octave/octave-3.6.2.tar.gz
$ gtar xfvz octave-3.6.2.tar.gz
$ cd octave-3.6.2
$ CFLAGS=-O CXXFLAGS=-O ./configure --prefix=/usr/local/octave \
 --with-umfpack="-lumfpack -lcholmod -lcolamd -llapack" CPPFLAGS="-I/usr/include/pcre \
 -I/usr/include/ImageMagick -I/usr/include/suitesparse" LDFLAGS="-L/usr/lib64"
$ make
$ make check
$ sudo make -n install
$ sudo make install

/usr/local/octave/bin に PATH を通すのをお忘れなく。

補足


上記のように configure しても、まだ下記のような WARNING が残ります。
configure: WARNING: cURL library not found.  The ftp objects, urlread and urlwrite functions will be disabled.
configure: WARNING: GraphicsMagick++ library not found.  The imread function for reading image files will not be fully functional.
configure:
configure: NOTE: libraries may be skipped if a library is not found OR
configure: NOTE: if the library on your system is missing required features.

補足2

[2012-09-13]
Vine Linux の公式パッケージで Octave 3.6.2 が利用できるようになっています。荒さんはじめ関係者に感謝いたします。

Upgrade from Vine Linux 6.0 to 6.1 on Dell Precision T1600

待望の Vine Linux 新バージョン 6.1 がついにリリースされました。関係者の皆様に深く感謝いたします。

さて、仕事用マシンの Dell Precision T1600 を早速 upgrade してみました。しかし結構はまってしまいました。

スペックは以前と同じ。すでに Vine Linux 6 がインストールされており、メインのレポジトリが6.1に移行すると同時に update-watch が80個以上も更新パッケージがある、と知らせていましたので、apt-get により upgrade しました。

本来であれば、single user mode で作業すべきなのですが、自分しか使っていませんので、手抜きして、仮想コンソールで作業しました。gdm のログイン画面で [Ctrl]+[Alt]+[F2] を押し、rootでログイン。

# eng
# apt-get update
# apt-get dist-upgrade

ここまでは特に問題なく進んだのですが、マシンを再起動すると、GRUB 画面のすぐ後で

pnp 00:0a: can't evaluate _CRS: 12311

という表示が出たまま、マシンが固まってしまいました orz...

強制的に電源を off し、再度起動して GRUB で今度は previous kernel (2.6.35) を選ぶと、普通に立ち上がりました。

いろいろと試してみましたが、結論を書きますと、起動時カーネルオプションに "nomodeset" を加えて起動すると、kernel 3.0.38 で立ち上がりました。起動時にカーネルオプションを変更する方法は Vine Linux 6 マニュアルに説明があります。

とりあえず起動できたので、こちらの説明に従い、この設定を GRUB に設定しました。

$ sudo vi /boot/grub/menu.lst
...
title Vine Linux (Current kernel)
  root (hd1,0)
  kernel /boot/vmlinuz ro root=LABEL=/ resume=swap:/dev/sdb2 \
  vga=0x314 splash=silent quiet nomodeset #(実際は1行)
...

本当にこれで良いのかどうかは分かりません。試される場合は自己責任でおねがいします。
こんな記事もありましたが、GPU(ドライバ)が原因でしょうか?

付録?


以下は、上記に行き着くまでに試したこと(の一部)です。(恥ずかしくて全部は書けません...)

  • gparted-live-0.13.0-3.iso を焼いた DVD から起動
  • これは起動途中で止まってしまいました。ちなみに kernel 3.2.23-1 です。
  • CentOS-6.3-x86_64-LiveDVD.iso を焼いた DVD から起動
  • こちらはデスクトップ画面が現れました。kernel 2.6.32-279 です。
  • Vine Linux 6.1 で、previous kernel (2.6.35) で起動した時の dmesg
  • PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
    という気になるメッセージがありました。
  • ubuntu forum でのスレッド
  • 上記の "pci=nocrs" を手がかりにこのスレッドに行き着き、そこで "nomodeset" というオプションがあることを知りました。