u-ryo's blog

various information for coding...

Category: Ubuntu

Lualatex Error

| Comments

Ubuntu 18.04になってからか、これまで難なく通っていたLuaLaTeXが 通らなくなっていました。

1
2
3
4
5
6
7
8
(/usr/share/texlive/texmf-dist/tex/luatex/luatexja/patches/lltjp-stfloats.sty)
ABD: EverySelectfont initializing macros
! Undefined control sequence.
<argument> ...x \ifdim \paperheight >0pt\relax \pdfpagewidth
                                                  =\paperwidth \pdfpageheigh...

l.5 \begin{document}
?

version upしたからかな、 そのうち通るようになるかな、 それまでは16.04捨てられないな、 とか思ってほっぽっておいてたんですが、 一向に良くならないので、ちょっと調べてみました。 LuaLaTeX追ってる人には何でもない情報でしょうが、 色々変わってたんですね。

結論から示しますと、 graphicxのdriverをpdftexからluatexにする (→defaultの自動判定に任せる)ようにすれば良かったです。 具体的には、

1
2
3
\usepackage[pdftex]{graphicx}
   ↓
\usepackage{graphicx}

だけでした(ref.TeX Live 2016 の新しい LuaTeX あれこれ)。 primitive名が色々変わって、 LuaTeXのprimitiveに対応したluatex.defが出来て、 graphicx driverのluatexへの自動判定(pdftexではなく)が 導入されていました。

Extract Recent Initramfs

| Comments

よその会社に用意して貰ったLinux(ubuntu)のSSDがあって、 ちょっとhappy hackingしてみようと。 initramfsを展開しようとzcat initrd.img|cpio -diとかってやってみたところ、 「not in gzip format」と。 file initrd.imgとすると「ASCII cpio archive (SVR4 with no CRC)」です。 圧縮fileじゃないのかとそのままcpio -idしても、 何かkernel/x86/microcode/AuthenticAMD.binしか出て来ません。 えー!? どうなってんのー?! 調べてみると、lsinitramfsというのでlistは出るらしい、です。 試してみると、確かに色々入ってそうです。 なのに出て来ません。えー。 FedoraやCentOS 6/7、RHEL 6/7のinitramfsを展開するRHEL7 initramfsの展開方法を見ると、 きょうびのinitramfsは違うんですねー。 びっくりです。

ちなみに、skipcpioapt install dracutで入ります。 使うには、/usr/lib/dracut/skipcpioとfull path指定が必要です。 binwalkapt install binwalkでした。

早速試したところ、上手く行くもの(/boot/initrd.img-4.15.0-33-generic)もありましたが、 下記のように上手く行かないものもありました。 そして、目的のものは上手く行かない方のものでした。

1
2
$ /usr/lib/dracut/skipcpio ~/initrd.img-4.15.0-33-generic|file -
/dev/stdin: ASCII cpio archive (SVR4 with no CRC)

binwalkで見てみると、全く同じ位置にあるのに。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
$ binwalk ~/initrd.img-4.15.0-33-generic

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
0             0x0             ASCII cpio archive (SVR4 with no CRC), file name: ".", file name length: "0x00000002", file size: "0x00000000"
112           0x70            ASCII cpio archive (SVR4 with no CRC), file name: "kernel", file name length: "0x00000007", file size: "0x00000000"
232           0xE8            ASCII cpio archive (SVR4 with no CRC), file name: "kernel/x86", file name length: "0x0000000B", file size: "0x00000000"
356           0x164           ASCII cpio archive (SVR4 with no CRC), file name: "kernel/x86/microcode", file name length: "0x00000015", file size: "0x00000000"
488           0x1E8           ASCII cpio archive (SVR4 with no CRC), file name: "kernel/x86/microcode/AuthenticAMD.bin", file name length: "0x00000026", file size: "0x00006B2A"
28072         0x6DA8          ASCII cpio archive (SVR4 with no CRC), file name: "TRAILER!!!", file name length: "0x0000000B", file size: "0x00000000"
28672         0x7000          ASCII cpio archive (SVR4 with no CRC), file name: "kernel", file name length: "0x00000007", file size: "0x00000000"
28792         0x7078          ASCII cpio archive (SVR4 with no CRC), file name: "kernel/x86", file name length: "0x0000000B", file size: "0x00000000"
28916         0x70F4          ASCII cpio archive (SVR4 with no CRC), file name: "kernel/x86/microcode", file name length: "0x00000015", file size: "0x00000000"
29048         0x7178          ASCII cpio archive (SVR4 with no CRC), file name: "kernel/x86/microcode/.enuineIntel.align.0123456789abc", file name length: "0x00000036", file size: "0x00000000"
29212         0x721C          ASCII cpio archive (SVR4 with no CRC), file name: "kernel/x86/microcode/GenuineIntel.bin", file name length: "0x00000026", file size: "0x00180C00"
1605296       0x187EB0        ASCII cpio archive (SVR4 with no CRC), file name: "TRAILER!!!", file name length: "0x0000000B", file size: "0x00000000"
1605632       0x188000        gzip compressed data, from Unix, last modified: 2018-08-30 06:15:36

$ binwalk /boot/initrd.img-4.15.0-33-generic

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
0             0x0             ASCII cpio archive (SVR4 with no CRC), file name: ".", file name length: "0x00000002", file size: "0x00000000"
112           0x70            ASCII cpio archive (SVR4 with no CRC), file name: "kernel", file name length: "0x00000007", file size: "0x00000000"
232           0xE8            ASCII cpio archive (SVR4 with no CRC), file name: "kernel/x86", file name length: "0x0000000B", file size: "0x00000000"
356           0x164           ASCII cpio archive (SVR4 with no CRC), file name: "kernel/x86/microcode", file name length: "0x00000015", file size: "0x00000000"
488           0x1E8           ASCII cpio archive (SVR4 with no CRC), file name: "kernel/x86/microcode/AuthenticAMD.bin", file name length: "0x00000026", file size: "0x00006B2A"
28072         0x6DA8          ASCII cpio archive (SVR4 with no CRC), file name: "TRAILER!!!", file name length: "0x0000000B", file size: "0x00000000"
28672         0x7000          ASCII cpio archive (SVR4 with no CRC), file name: "kernel", file name length: "0x00000007", file size: "0x00000000"
28792         0x7078          ASCII cpio archive (SVR4 with no CRC), file name: "kernel/x86", file name length: "0x0000000B", file size: "0x00000000"
28916         0x70F4          ASCII cpio archive (SVR4 with no CRC), file name: "kernel/x86/microcode", file name length: "0x00000015", file size: "0x00000000"
29048         0x7178          ASCII cpio archive (SVR4 with no CRC), file name: "kernel/x86/microcode/.enuineIntel.align.0123456789abc", file name length: "0x00000036", file size: "0x00000000"
29212         0x721C          ASCII cpio archive (SVR4 with no CRC), file name: "kernel/x86/microcode/GenuineIntel.bin", file name length: "0x00000026", file size: "0x00180C00"
1605296       0x187EB0        ASCII cpio archive (SVR4 with no CRC), file name: "TRAILER!!!", file name length: "0x0000000B", file size: "0x00000000"
1605632       0x188000        gzip compressed data, from Unix, last modified: 2018-08-28 05:01:31

TRAILERが2つあるので、skipcpioを2回かけてみてもダメでした。

1
2
$ /usr/lib/dracut/skipcpio ~/initrd.img-4.15.0-33-generic|/usr/lib/dracut/skipcpio /dev/stdin|file -
/dev/stdin: data

仕方ないので、binwalkで得られたbyte数を自分でskipしてやる手法で試すと、上手く解凍されました。

1
2
3
4
5
$ tail -c +1605632 ~/initrd.img-4.15.0-33-generic|file -
/dev/stdin: data
$ tail -c +1605633 ~/initrd.img-4.15.0-33-generic|file -
/dev/stdin: gzip compressed data, last modified: Thu Aug 30 06:15:36 2018, from Unix
$ tail -c +1605633 ~/initrd.img-4.15.0-33-generic|zcat|cpio -id

binwalkで得られた1605632ではダメで、1605633でOKでした。 上記サイトには「得られたbyte数以降をddで書き出せ」とかありましたが、 別にそんなことしなくてもtail -c +NNNで十分です。

Daemonizing Jhipster Application

| Comments

JHipsterのapplicationで、 OS(Ubuntu 18.04)起動時にapplicationもdaemonとして自動起動するようにするには。

きっとSpring Bootでdaemonizeする方法を探ればいいと思って、 61. Installing Spring Boot Applicationsにあるように、

1
2
3
bootJar {
	launchScript()
}

でもこれ、Spring Boot 2での話で、 こちとらまだJHipster 4.14.4、Spring Bootは1.5です。 そんなものはない、と当然失敗します。 なのでもうちょっと古い記事を探しました。

spring bootアプリの起動スクリプトを作るを見て、

1
2
3
4
5
apply plugin: 'spring-boot'

springBoot {
    executable = true
}

としたんですが、plugin 'spring-boot'はないと言われ、 executable = truebuild.gradleに既に書いてありました。

そもそもそんなことしなくても、 Using in Production にあるように、

1
$ gradle bootRepackage -Pprod

でexecutable war作れるんですね。 で、それを/etc/init.d/にsymlinkすればいいだけという。 -Pprodを付けないとdevelopment versionになってしまいます。 あとは、update-rc.d appname defaultsで登録すれば良いです。

Time/Date Display Format on GNOME Shell

| Comments

Ubuntu 18.04使ってるんですが、 Unityから変わったGNOME Shellの真ん中に出てるのが 曜日と時分だけなので、不便でした。 日付を確認したくなることもあるし、 秒がないと動いているのか止まっているのかよくわからなかったりとかするんですよね。 どうするのかなー、と思って調べたら、一発でした。 GNOME Shellのパネルに日付を表示する方法

1
2
$ gsettings set org.gnome.desktop.interface clock-show-date true
$ gsettings set org.gnome.desktop.interface clock-show-seconds true

tabによる補完で調べると、他にはclock-show-weekdayがあり、 それは既にtrueになってるんでしょうね。

Controlling Unity on Ubuntu Through CLI

| Comments

Clock on the menu bar

1
2
3
4
$ dconf write /com/canonical/indicator/datetime/show-date "true"
$ dconf write /com/canonical/indicator/datetime/show-day "true"
$ dconf write /com/canonical/indicator/datetime/show-seconds "true"
$ dconf write /com/canonical/indicator/datetime/show-year "true"

battery on the menu bar

1
2
$ dconf write /com/canonical/indicator/power/show-time "true"
$ dconf write /com/canonical/indicator/power/show-percentage "true"

"En" on the menu bar(default language selection)

1
$ dconf write /org/gnome/desktop/input-sources/current "uint32 1"

Wallpaper

1
$ dconf write /org/gnome/desktop/background/picture-uri "'file:///usr/share/backgrounds/wallpaper_univcoop.jpg'"

The way to suppress other icons on the launcher

1
2
$ dconf write /com/canonical/unity/launcher/favorites "['application://firefox.desktop']"
$ dconf read /com/canonical/unity/launcher/favorites

forbidden hud

1
$ dconf write /org/compiz/integrated/show-hud "['disabled']"

To suppress remote content search

1
$ dconf write /com/canonical/unity/lenses/remote-content-search "'none'"

Supress auto-mount

1
2
$ dconf write /org/gnome/desktop/media-handling/automount "'false'"
$ dconf write /org/gnome/desktop/media-handling/automount-open "'false'"