Confluenceで日本語が化ける

マクロとパワーポイントやワード等のOffice文書、PDF表示の3つが化けます。
※作業しているOSは、Ubuntu Server 18.04 LTS です。

まずはマクロ

以下を見ながら設定

Confluence のマクロで日本語が表示されない - Atlassian Documentation

$ sudo service confluence stop

$ sudo aptitude install fontconfig

ググってもIPAフォントを使うのしかでてこないがお気に入りの源真フォントでやってみる

$ cd /usr/share/fonts/truetype
$ sudo cp -pr ~/genshingothic-20150607 .
$ sudo mv genshingothic-20150607 genshingothic
$ sudo chown -R root:root genshingothic/
$ fc-list

/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf: DejaVu Serif:style=Bold
/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf: DejaVu Sans Mono:style=Book
/usr/share/fonts/X11/Type1/s050000l.pfb: Standard Symbols L:style=Regular
/usr/share/fonts/truetype/genshingothic/GenShinGothic-Heavy.ttf: 源真ゴシック,Gen Shin Gothic,Gen Shin Gothic Heavy,源真ゴシック Heavy:style=Heavy,Bold
省略

Javaのフォントも設定

$ sudo cat /etc/profile.d/jdk.sh
export J2SDKDIR=/usr/lib/jvm/java-8-oracle
export J2REDIR=/usr/lib/jvm/java-8-oracle/jre
export PATH=$PATH:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
export DERBY_HOME=/usr/lib/jvm/java-8-oracle/db

$ cd /usr/lib/jvm/java-8-oracle/jre/lib/fonts
$ sudo mkdir fallback
$ cd fallback/
$ sudo cp -p ~/genshingothic-20150607/*ttf .

これでマクロは直りました。

次はOffice文書

公式に書いてある通りCATALINA_OPTSに書いてもどうしても直らないのでIPAフォントでやることに。

$ cd /usr/local/confluence/bin
$ vi setenv.sh

CATALINA_OPTS="-Dconfluence.document.conversion.fontpath=/usr/lib/jvm/java-8-oracle/jre/lib/fonts/fallback ${CATALINA_OPTS}"

これを追加してconfluenceを停止してからキャッシュを削除すれば表示されるようになりました。(源真じゃないけど・・・)

$ cd /var/atlassian/application-data/confluence
$ rm -rf dcl-document dcl-document_hd dcl-thumbnail

最後にマクロ

Confluence管理 > PDF エクスポート言語サポート > ファイルを選択 > GenShinGothic-P-Regular.ttf > install

で、源真Pゴシックが設定できました。

Officeだけどうしてもうまく行かなかった・・・

ubuntuのタイムゾーンをUTCからJSTへ変更する

諸般の事情により、JIRAサーバを移行しました。
新サーバは、Ubuntu Server 18.04 LTSにしたのですが、アプリケーションリンクで

システム時計が同期されていません
このサーバーにはBitbucketの異なるシステム時刻を採用しており、これがアプリケーションの認証を妨げています。

というエラーが出ていたので確認したらUTCでした。

$ date
2018年  6月  6日 水曜日 08:19:21 UTC

$ timedatectl
                      Local time: 水 2018-06-06 08:20:05 UTC
                  Universal time: 水 2018-06-06 08:20:05 UTC
                        RTC time: 水 2018-06-06 08:20:05
                       Time zone: Etc/UTC (UTC, +0000)
       System clock synchronized: no
systemd-timesyncd.service active: yes
                 RTC in local TZ: no

JSTに設定します。

$ sudo timedatectl set-timezone Asia/Tokyo

$ timedatectl
                      Local time: 水 2018-06-06 17:20:58 JST
                  Universal time: 水 2018-06-06 08:20:58 UTC
                        RTC time: 水 2018-06-06 08:20:58
                       Time zone: Asia/Tokyo (JST, +0900)
       System clock synchronized: no
systemd-timesyncd.service active: yes
                 RTC in local TZ: no

あれ?エラーが直らない・・・
あっ!時間ずれてるじゃん_| ̄|○

$ sudo ntpdate hogehoge
 6 Jun 09:34:49 ntpdate[2964]: step time server 192.168.1.2 offset -28816.325659 sec
$ date
2018年  6月  6日 水曜日 09:34:51 JST

これでエラー直った。

bitbucket-backup-clientでのバックアップがおかしくなったときの対応

Bitbucket Serverのバックアップをbitbucket-backup-clientを使ってcronで実行してます。
月曜の朝からBitbucketが使えないという連絡がSlackで入る・・・。

どうやら日曜日に実行したバックアップがおかしくなり月曜朝のバックアップもコケていた模様。

取り敢えずWebの画面からロック解除というのやってみる

f:id:gozuk16:20180305210539p:plain

キャンセルするには認証トークンを入力してください。これはBitbucketのログの中で探すことが出来ます。 と書いてあるけど何をキーに探すのやら。
取り敢えずググると公式文書がありました。

Using Bitbucket Server DIY Backup - Atlassian Documentation

Note that Bitbucket Server will still be locked in maintenance mode.
Repeat these steps using the "locked with" token (e.g. "7187ae1824ce1ede38a8e7de4bccf58d9a8e1a7a") 
to exit maintenance mode as well, and unlock Bitbucket Server.

↑と書いてあるのでログをあさって以下を見つけました。

atlassian-bitbucket-2018-03-04.log:2018-03-04 06:48:46,068
INFO  [http-nio-7991-exec-5] root @xxxxxxxxxxxxxxxx 10.x.x.x,127.0.0.1
"POST /mvc/admin/backups HTTP/1.0" c.a.s.i.m.DefaultMaintenanceService BACKUP started.
It may be canceled with token: ほにゃららtoken

ちょっと違うけど、このトークンでキャンセルできました!

が、次はメンテナンス画面になった。。。

f:id:gozuk16:20180305211004p:plain

メンテナンスのロック解除をやってみる

f:id:gozuk16:20180305211227p:plain

メンテナンスのキャンセル用認証トークンはまた別らしい・・・。
今度はログをあさっていろいろ試してみたら解除できました。

atlassian-bitbucket-2018-03-04.log:2018-03-04 06:48:45,618
INFO  [hz.hazelcast.cached.thread-5]
c.a.s.i.m.DefaultMaintenanceService The system has been locked for maintenance.
It may be unlocked with token: ほにゃららtoken

ふぃ〜。朝から疲れました。。。

Gradleでbuildすると1行目でいきなり"1: Invalid variable name."というエラーが出る

Groovyでちょっとした物を作り始めたら・・・

C:\home\gozu\projects\Foo\bar>gradlew jar
:compileJava UP-TO-DATE
:compileGroovy
startup failed:
C:\home\gozu\projects\Foo\bar\src\main\groovy\hogehoge.groovy: 1: Invalid variable name. Must start with a letter but was: ?
. At [1:1]  @ line 1, column 1.
   ?/*
   ^

1 error

:compileGroovy FAILED

FAILURE: Build failed with an exception.

ん?1行目?

あっ・・・(察し)
BOM付いてるじゃん。いつの間に・・・

Windows版 SourceTreeの文字化けを直す

Windows版のSourceTreeのUIで左側のブランチを選ぶところとかコミットログの日本語がお豆腐(□)になってしまってえらい困っていたのですが以下のサイトによるとWindowsUpdateの影響だったようです。
(Windows7で発症していてWindows10では発症していなかった。SourceTreeは両方とも2.4.7.0でした)

https://blog.hatena.ne.jp/gozuk16/gozuk16.hatenablog.com/entriescommunity.atlassian.com

KB4055532 が原因でMSから回避策が案内されているということでした。

https://support.microsoft.com/ja-jp/help/4074906/typeinitializationexception-or-fileformatexception-error-in-wpf-apps-t

↑をみるとアンインストールしてゴニョゴニョって書いてありましたが面倒なので、普通にWindowsUpdateで直らないかなーと思ってオプションを見てみると「Update for Microsoft .NET Framework 4.7.1 on Windows 7 SP and Windows Server 2008 R2 SP1 (KB4074906)」というのがあるので試しに入れてみました。

直りました!!!

MacのSlack(日本語設定)でWindowsと同じようにCtrl+Enterで送信する

諸事情あって日本語設定に変えざるをえないことになりました。
WindowsのSlackアプリではCtrl+Enterで送信ですが、MacになるとCommand+Enterなのが違和感があります。
しょうがないのでMacでもCtrl+Enterで送信できるようにKarabinerのprivate.xmlで定義を追加しました。

    <appdef>
        <appname>SLACK</appname>
        <equal>com.tinyspeck.slackmacgap</equal>
    </appdef>
    <item>
        <name>For Slack</name>
        <item>
            <name>Ctrl+Enter to post</name>
            <identifier>private.app_slack_post_with_ctrl_enter</identifier>
            <only>SLACK</only>
            <autogen>__KeyToKey__ KeyCode::RETURN, ModifierFlag::CONTROL_L, KeyCode::RETURN, ModifierFlag::COMMAND_L</autogen>
        </item>
    </item>

equal指定でSlackの時だけ、Ctrl+EnterをCommand+Enterに変えてるので特に悪影響は出てないはず。たぶん・・・

vim-markdownを入れた時にインサートモードが遅くなったときの回避法

随分前に rcmdnk/vim-markdown を入れて使ってたのですが、JekyllからHugoに乗り換えたのでアップデートしてfrontmatterの設定を追加したり、その他.vimrcをいじっていたら、インサートモードで入力してから文字が表示されるまでものすごく遅くなりました。

github.com

10秒以上遅延が発生するんでほんと困った。

ちなみに以下の設定は入れてありますが、遅い状況。

set synmaxcol=200
set lazyredraw
set ttyfast
set re=1

結論としては以下のような設定にすることでそれなりに早くなりました。

let g:vim_markdown_folding_disabled=1

let g:vim_markdown_liquid=1
let g:vim_markdown_math=0
let g:vim_markdown_frontmatter=1
let g:vim_markdown_toml_frontmatter=1
let g:vim_markdown_json_frontmatter=0

set nofoldenable

たぶんset nofoldenableがいけないのかなと思いましたがfoldしてほしくないので。。。
結局、vim_markdown_folding_disabled=1を組み合わせるとフォーマッタを効かせつつfolding無しでインサートモードでもそれなりのスピードで入力できるようになりました。

vim-markdown:TableFormat便利すぎるのでコレはすれられない。
素のtabularだけだと惜しい感じなんですよね。

なんか古い.vimrcみてたら整理したくなったけど今はやるべきではないと踏みとどまる理性はあったw