PCに関する雑多な記録

PCに関する諸々の備忘録に変身。

Dockerの中でubuntu16.04上のwine1.6を動かしてtvrockをスレーブで動かす

2017年12月29日 | ubuntu

wine2.0からtvrockをスレーブで動かすと特定のアドレスで落ちるので、なんとかならんかなぁと考えてでた結論がDockerで動かせばいいじゃない。

Dockerfile

FROM ubuntu:16.04
ADD repo_change.sh /root/
RUN /root/repo_change.sh
RUN dpkg --add-architecture i386
RUN echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select no | debconf-set-selections
RUN echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select false | debconf-set-selections
RUN apt-get update
RUN apt-get -y install ttf-mscorefonts-installer
RUN apt-get -y install wine1.6
ADD msgothic.ttc /usr/share/fonts/truetype/misc/
RUN apt-get -y install language-pack-ja-base language-pack-ja
RUN locale-gen ja_JP.UTF-8
ADD localtime /etc/
ENV LANG ja_JP.UTF-8
ENV LC_TIME ja_JP.UTF-8
ENV LANGUAGE ja:en
CMD wine /root/tvrock/tvrock.exe

管理用スクリプト

-- from here --
#!/bin/bash

build() {
docker build -t horita/tvrock .
}

run() {
docker run --hostname=tvrock_slave --add-host tvrock:172.22.10.35 --net=my_nw --ip=192.168.1.2 -itd --name horita_tvrock -e DISPLAY=$DISPLAY -v /tmp/.X11-unix/:/tmp/.X11-unix -v `pwd`/tvrock:/root/tvrock -v `pwd`/wine:/root/.wine horita/tvrock
}

stop() {
docker stop horita_tvrock
}

remove() {
docker rm horita_tvrock
}

rebuild() {
stop
remove
run
}

tvrock() {
docker-enter horita_tvrock wine /root/tvrock/tvrock.exe
}

enter() {
docker-enter horita_tvrock
}

create_network() {
docker network create --subnet=192.168.1.0/24 my_nw
}

$1
-- end 

親機でXのセキュリティを変更したうえで...

一度create_networkしてbuild,rebuildで勝手にバックグラウンドで起動する。マスターはtvrockという名前にしておけば、IPはコンテナ起動時に渡せる。

docker run のオプションにあるように親機にtvrockの実行ファイルとか.wineのディレクトリとかを持っておけば、コンテナ再起動しても消えない。

これでこの辺のファイル郡とコンテナイメージがあれば、Ubuntuのバージョンが上がっても、安心してtvrockがスレーブで動く。┐(´д`)┌ヤレヤレ

 


DockerのコンテナでWineを動かす

2017年12月27日 | ubuntu

一応行けるっぽい。

https://unskilled.site/docker%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%81%AE%E4%B8%AD%E3%81%A7gui%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E8%B5%B7%E5%8B%95%E3%81%95%E3%81%9B%E3%82%8B/

にあるようにXの表示系を調整することと、

https://askubuntu.com/questions/16225/how-can-i-accept-the-microsoft-eula-agreement-for-ttf-mscorefonts-installer

にあるように、Dockerfileでダイアログを無視させる事

http://agekuno.hatenablog.com/entry/2014/10/22/190712

にあるように、i386のパッケージも使えるようにすること。

 

この辺をやると動く。ちゃんと常駐物もインジケータに表示される。

Dockerfile

-- from here --
FROM ubuntu:16.04
ADD repo_change.sh /root/
RUN /root/repo_change.sh
RUN dpkg --add-architecture i386
RUN echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select no | debconf-set-selections
RUN echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select false | debconf-set-selections
RUN apt-get update
RUN apt-get -y install ttf-mscorefonts-installer
RUN apt-get -y install wine1.6
RUN apt-get -y install language-pack-ja-base language-pack-ja
RUN locale-gen ja_JP.UTF-8
ADD localtime /etc/
ENV LANG ja_JP.UTF-8
ENV LC_TIME ja_JP.UTF-8
ENV LANGUAGE ja:en
CMD /bin/bash
-- end --

-- repo_change.sh --
#!/bin/sh
cat /etc/apt/sources.list | sed 's|http://archive|http://jp.archive|g' | sed 's|http://security.ubuntu.com|http://jp.archive.ubuntu.com|g' > /etc/apt/sources.list.new
rm /etc/apt/sources.list
mv /etc/apt/sources.list.new /etc/apt/sources.list
-- end

 

repo_changeはデフォのUbuntuのレポジトリが海外なので、日本向けに。
日本語化をここで。タイムゾーンも日本に。なのでlocaltimeは日本向けにインストールした/etc/localtimeを使う。

 


ubuntu UEFI 環境でのシステムのバックアップとリストア

2017年12月01日 | ubuntu

dump -0 -f - /dev/sda2 | gzip -1 > /otherfs/foo.dump.gz

なんかでバックアップをとって

mount /dev/sda2 /target
cd /target
zcat /otherfs/foo.dump.gz | restore -r -f -

とかしてrestoreしたあと

etc/fstab 

の内容を展開後の環境のUUIDで/とefiとswapを書き換えて、再起動する。

rEFIndいれてれば、自動的に認識してくれて、起動できる。あぁ、なんて楽ちん。