コードを書かなくちゃ圧倒的成長が望めない!
ということで毎週1つゲームをつくろう!と思います。
ゲームエンジンは、HTML5+JavaScriptゲームエンジンである「Phaser」とAltJSと言われている「TypeScript」を使っていきたいと思います。
それでは今週からいってみよー!
2014年12月2日火曜日
2014年7月11日金曜日
sudoersをぶっ壊してみた
sudoのPATH追加とかいろいろググってたら/etc/sudoersを間違えてrmしました。
そこからの復旧をログとして残しておきます。
sudoersとは
"sudoers - デフォルトの sudo 用セキュリティ・ポリシー・モジュール
sudoers ポリシー・モジュールは、デフォルトの sudo 用ポリシー・プラグインであり、このモジュールによってユーザがどんな sudo 権限を持っているかの判定が行われる。"
- Man page of SUDOERS http://linuxjm.sourceforge.jp/html/sudo/man5/sudoers.5.html
つまりsudo権限に関するモジュールです。
これをいじってしまうとsudoが使えなくなってしまったりするものですが、間違えてrmしてしまいました。
まず、これがないと
という表示が出ます。sudoが使えない、また、sudoersはsudoでしか編集できない/etc/以下に存在するので、にっちもさっちもいかなくなります。
こうなってしまうと、リカバリーモードから編集するか、他サーバーなどからリモートでアクセスして編集していくしかありません。
今回はちょうど目の前にubuntu 12.04.2 LTSのリカバリーディスクがあったのでそれを使いました。
リカバリーディスクのtry ubuntuからHDDをマウントし、HDDの/etc/へ移動。
ここでsudoersを編集する
を使うと、リカバリーディスクのsudoの編集をしてしまいます。
故に今回は
とし直接編集しました。(実際は間違う可能性が多いのでやらないほうがいい)
作るsudoersのサンプルは
Sudoers - Community Help Wiki
を利用しました。
これでリカバリーディスクからsudoersを作成し保存してreboot。
しかし、
アクセス権も付加します。
アクセス権もsudoがなくては使えないのでリカバリーディスクから
これで使えるように。
教訓
sudoersは触らないほうがいい。
さんこうさいと
http://takuya-1st.hatenablog.jp/entry/20090806/1249554458
http://www.maruko2.com/mw/%E4%B8%80%E8%88%AC%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%82%92_sudo_%E3%81%A7%E3%81%8D%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B
そこからの復旧をログとして残しておきます。
sudoersとは
"sudoers - デフォルトの sudo 用セキュリティ・ポリシー・モジュール
sudoers ポリシー・モジュールは、デフォルトの sudo 用ポリシー・プラグインであり、このモジュールによってユーザがどんな sudo 権限を持っているかの判定が行われる。"
- Man page of SUDOERS http://linuxjm.sourceforge.jp/html/sudo/man5/sudoers.5.html
つまりsudo権限に関するモジュールです。
これをいじってしまうとsudoが使えなくなってしまったりするものですが、間違えてrmしてしまいました。
まず、これがないと
sudo: /etc/sudoers の状態取得 (stat) ができません
:そのようなファイルやディレクトリはありません
sudo:有効な sudoers のソースが見つかりません。終了します
sudo: ポリシープラグインを初期化できません
という表示が出ます。sudoが使えない、また、sudoersはsudoでしか編集できない/etc/以下に存在するので、にっちもさっちもいかなくなります。
こうなってしまうと、リカバリーモードから編集するか、他サーバーなどからリモートでアクセスして編集していくしかありません。
今回はちょうど目の前にubuntu 12.04.2 LTSのリカバリーディスクがあったのでそれを使いました。
リカバリーディスクのtry ubuntuからHDDをマウントし、HDDの/etc/へ移動。
ここでsudoersを編集する
$ sudo visudo
を使うと、リカバリーディスクのsudoの編集をしてしまいます。
故に今回は
$ sudo vi sudoers
とし直接編集しました。(実際は間違う可能性が多いのでやらないほうがいい)
作るsudoersのサンプルは
Sudoers - Community Help Wiki
を利用しました。
これでリカバリーディスクからsudoersを作成し保存してreboot。
しかし、
sudo: /etc/sudoers のアクセス権限のモードは 0662 です。これは 0440 であるべきです
sudo: 有効な sudoers のソースが見つかりません。終了します
sudo: ポリシープラグインを初期化できません
アクセス権も付加します。
アクセス権もsudoがなくては使えないのでリカバリーディスクから
$ chmod 0440 /etc/sudoers
これで使えるように。
教訓
sudoersは触らないほうがいい。
さんこうさいと
http://takuya-1st.hatenablog.jp/entry/20090806/1249554458
http://www.maruko2.com/mw/%E4%B8%80%E8%88%AC%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%82%92_sudo_%E3%81%A7%E3%81%8D%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B
2014年6月30日月曜日
Animetickで公式サイトへのリンクを作るUserScript
テスト前特有の何かコンテンツを作りたい欲が出て、いろいろ考えてたら疲れたのでアニメを見ていました。
そこでタイトルのようなものを考えました。
そこでタイトルのようなものを考えました。
"「今期のアニメは何を見てたっけ?」「今日は何が放送されるっけ?」「このアニメ、どこまで見てたっけ?」アニメを見ること一つをとっても、実はたくさんのことを管理しています。Animetick は日々放送される膨大なアニメの消化を腕利きの秘書、もしくはしっかりメイド、手練れの執事が如くサポートします。まずは毎週見ているアニメを選びましょう。アニメの放送時間になるとあなたのもとにチケットが配られます。チケットを効率よく管理して、たくさんのコンテンツを消化しましょう。"
という説明にあるようにアニメの視聴管理をおこなうサービスです。
このサービスはとても使いやすいのですが、来期のアニメ何を見るかといった場合には、どんなアニメかは画像とタイトルしか判別ができず、あまり実用的ではありません。
そこで、アニメの詳細に公式サイトへのリンクがあれば使いやすくなるのではないかと思いつくりました。
(あと一度UserScriptを作ってみたかった)
どうやれば公式サイトへのリンクにつなげるかが一番の課題でしたが、今回はgoogleのI'm Feeling Luckyを使うことにしました。
googleのI'm Feeling Luckyとは、使っている人は少ないかもしれませんが、面白いgoogleのサービスです。
googleのホームにもあるgoogle検索ボタンの横にあるボタンからI'm Feeling Luckyを使うことができます。このI'm Feeling Luckyというボタンを押すと、検索ワードの一番上の検索結果に直接飛びます。
アニメのタイトルを検索するとほぼそのアニメの公式サイトが最初に出てくる(ぼく調べ)なのでこれならいける!と思い作りました。
コード
github
dropbox
user.jsをchromeにインストールする場合には、一度***.user.jsをローカルに落とし、chromeの拡張機能のページを開きドラッグ&ドロップ。
<追記> Windows版のstableなchromeだとUserScriptは自動無効化されてしまう…。
使いたい場合にはDev版やCanary版を使うか、このサイト と同じようにすると使えます。
以下雑記(めも)
getElementsByClassNameとgetElementByIdについて
classは複数個ある場合があるのでsがつく、さらにリストで返ってくる。
->そのため一つしか無くても[0]で指定する必要あり。
idは必ず一つしかないのでsがつかなく、そのまま返ってくる。
子ノードの選択でのchildrenとchildNodesについて
children[i]はそのままi番目の要素を指定することができる。
childNodes[i]は改行はひとつとして数える。そのため、後ろのほうの選択を行う場合には不便。
element.targetについて
aタグでのリンクを新しいタブで開くとき場合には、targetを_blankで指定する。
(function()...)();は無名関数でその場で実行することができる。
User.js
@includeでjavascriptを適応するサイトを決める。*でワイルドカード。
さんこうさいと
http://future-is-now-k02.blogspot.jp/2011/12/javascriptchildnodes-children.html
https://developer.mozilla.org/ja/docs/Web/API/document.getElementsByClassName
https://developer.mozilla.org/ja/docs/Web/API/document.getElementsByClassName
http://monopocket.jp/blog/html/1091/
http://dqn.sakusakutto.jp/2009/01/javascript_2.html
このサービスはとても使いやすいのですが、来期のアニメ何を見るかといった場合には、どんなアニメかは画像とタイトルしか判別ができず、あまり実用的ではありません。
そこで、アニメの詳細に公式サイトへのリンクがあれば使いやすくなるのではないかと思いつくりました。
(あと一度UserScriptを作ってみたかった)
どうやれば公式サイトへのリンクにつなげるかが一番の課題でしたが、今回はgoogleのI'm Feeling Luckyを使うことにしました。
googleのI'm Feeling Luckyとは、使っている人は少ないかもしれませんが、面白いgoogleのサービスです。
googleのホームにもあるgoogle検索ボタンの横にあるボタンからI'm Feeling Luckyを使うことができます。このI'm Feeling Luckyというボタンを押すと、検索ワードの一番上の検索結果に直接飛びます。
アニメのタイトルを検索するとほぼそのアニメの公式サイトが最初に出てくる(ぼく調べ)なのでこれならいける!と思い作りました。
コード
(function() {
var element = document.createElement('a');
var objBody = document.getElementsByClassName("anime-info-bottom")[0];
element.style.backgroundColor = "#FF3307";
element.style.textDecoration = "none";
element.style.borderRadius = "5px";
element.style.color = "#FFFFFF";
element.target="_blank";
element.innerHTML = "Official Site";
element.href = "http://www.google.com/search?btnI=I%27m+Feeling+Lucky&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=" + objBody.children[0].innerHTML;
objBody.children[2].appendChild(element);
})();
github
dropbox
user.jsをchromeにインストールする場合には、一度***.user.jsをローカルに落とし、chromeの拡張機能のページを開きドラッグ&ドロップ。
<追記> Windows版のstableなchromeだとUserScriptは自動無効化されてしまう…。
使いたい場合にはDev版やCanary版を使うか、このサイト と同じようにすると使えます。
以下雑記(めも)
getElementsByClassNameとgetElementByIdについて
classは複数個ある場合があるのでsがつく、さらにリストで返ってくる。
->そのため一つしか無くても[0]で指定する必要あり。
idは必ず一つしかないのでsがつかなく、そのまま返ってくる。
子ノードの選択でのchildrenとchildNodesについて
children[i]はそのままi番目の要素を指定することができる。
childNodes[i]は改行はひとつとして数える。そのため、後ろのほうの選択を行う場合には不便。
element.targetについて
aタグでのリンクを新しいタブで開くとき場合には、targetを_blankで指定する。
(function()...)();としている意味(function()...)();は無名関数でその場で実行することができる。
User.js
@includeでjavascriptを適応するサイトを決める。*でワイルドカード。
さんこうさいと
http://future-is-now-k02.blogspot.jp/2011/12/javascriptchildnodes-children.html
https://developer.mozilla.org/ja/docs/Web/API/document.getElementsByClassName
https://developer.mozilla.org/ja/docs/Web/API/document.getElementsByClassName
http://monopocket.jp/blog/html/1091/
http://dqn.sakusakutto.jp/2009/01/javascript_2.html
2014年6月2日月曜日
2014年3月18日火曜日
ローカル開発環境でWebサーバを立ち上げ
タイトル通り、ローカル開発環境でWebサーバを立ち上げたかったので検索してオススメと書いてあったvagrantを使って立ち上げてみました。
vagrantはいわゆる仮想環境構築ツールです。
Rubyで書かれていて、すぐに使える開発環境を構築するのにかなり便利なツールとなっています。
以下から、実際に立ち上げてみます。
ここで、Vagrantは仮想環境構築ツールであり、仮想化用ソフトは別に必要です。今回はoracleのVirtualboxを使いました。
下の公式サイトのリンクからVagrantをインストールしてください。また、Virtualboxをインストールしていなければ、それもインストールしてください。
Vagrant
Virtualbox
今回はvagrantのバージョンは1.5.1
Virtualboxのバージョンは4.3.12です
次に、仮想マシンのイメージファイルを所得します。
今回は公式サイトのGetting Startedと同様に行います。
このhashicorp/precise32というのは、ubuntu12.04の32bitです。
このVagrantfileには、作る仮想環境の設定が記述されています。
つまり、このVagrantfileがあれば、どんな環境でも同じ仮想環境が作れるということです。
ここがVagrantを使う利点の一つです。
今回は、先にも述べたとおりvagrantが公式に提供している、ubuntu12.04の32bitの仮想環境が作られるVagrantfileが作られます。
他のVagrantfileを使うと、他のOS(CentOS,FreeBSDなど)を使用することもできます。
次に
すると、仮想マシンのイメージファイルなどがダウンロードされ、その仮想環境が立ち上がります。
これで、仮想環境の作成は終了です。
二回目以降は、イメージファイルはダウンロードされずに仮想環境が立ち上がります。
この開発環境にsshしたい時には
この開発環境を終了したい時には
この開発環境を削除したい時には
です。
webサーバを立ち上げるには、先のVagrantfileを編集します。
Vagrantfileを編集する前に、仮想環境を立ち上げていれば、終了してください。
終了させた後に、Vagrantfileの中身を編集します。 Vagrantfileの
この行のコメントアウトを解除して、保存してください。
そうして、
今回は、pythonのSimpleHTTPServerを使いWebサーバを立ち上げてみます。
本当に立ち上がっているか確認するために、index.htmlなどを作成して確認してみましょう。
次に、IDアドレスを確認します。
多分、先にコメントアウトを解除した192.168.33.10と書いてあると思います。
最後に、
ポートは8000番になっているはず…!
それでは最後にブラウザから確認してみましょう。
ブラウザで192.168.33.10:8000と入力してください。
helloと出ると思います。
これで、Webサーバの立ち上げの完了です。
何度もvagrant haltやvagrant upをしていると、
これは、強制終了などが起こり、リカバリーモードなどが起動した時に起こります。(実際にぼくも起こりました。)
この時は、VagrantfileのvirtualboxのGUIを起動させ、正しい起動をさせることで起こらなくなります。
virtualboxのGUIは
困ったら試してみてください。
(この最後をメモとして残しておきたかった)
さんこうさいとさま
http://knowledge.sakura.ad.jp/tech/1552/
http://dev.classmethod.jp/server-side/virtual-box-vagrant/
vagrantはいわゆる仮想環境構築ツールです。
Rubyで書かれていて、すぐに使える開発環境を構築するのにかなり便利なツールとなっています。
以下から、実際に立ち上げてみます。
ここで、Vagrantは仮想環境構築ツールであり、仮想化用ソフトは別に必要です。今回はoracleのVirtualboxを使いました。
下の公式サイトのリンクからVagrantをインストールしてください。また、Virtualboxをインストールしていなければ、それもインストールしてください。
Vagrant
Virtualbox
今回はvagrantのバージョンは1.5.1
Virtualboxのバージョンは4.3.12です
次に、仮想マシンのイメージファイルを所得します。
今回は公式サイトのGetting Startedと同様に行います。
このhashicorp/precise32というのは、ubuntu12.04の32bitです。
$ vagrant init hashicorp/precise32
すると、このコマンドを入れた時のdirectory上にVagrantfileというものが生成されます。このVagrantfileには、作る仮想環境の設定が記述されています。
つまり、このVagrantfileがあれば、どんな環境でも同じ仮想環境が作れるということです。
ここがVagrantを使う利点の一つです。
今回は、先にも述べたとおりvagrantが公式に提供している、ubuntu12.04の32bitの仮想環境が作られるVagrantfileが作られます。
他のVagrantfileを使うと、他のOS(CentOS,FreeBSDなど)を使用することもできます。
次に
$ vagrant up
をVagrantfileがあるdirectoryで入力します。すると、仮想マシンのイメージファイルなどがダウンロードされ、その仮想環境が立ち上がります。
これで、仮想環境の作成は終了です。
二回目以降は、イメージファイルはダウンロードされずに仮想環境が立ち上がります。
この開発環境にsshしたい時には
$ vagrant ssh
この開発環境を終了したい時には
$ vagrant halt
この開発環境を削除したい時には
$ vagrant destroy
です。
webサーバを立ち上げるには、先のVagrantfileを編集します。
Vagrantfileを編集する前に、仮想環境を立ち上げていれば、終了してください。
終了させた後に、Vagrantfileの中身を編集します。 Vagrantfileの
# config.vm.network "private_network", ip: "192.168.33.10"
というようにこの行がコメントアウトされていると思います。この行のコメントアウトを解除して、保存してください。
そうして、
$ vagrant up
すると設定は完了です。今回は、pythonのSimpleHTTPServerを使いWebサーバを立ち上げてみます。
本当に立ち上がっているか確認するために、index.htmlなどを作成して確認してみましょう。
$ vagrant ssh
$ mkdir web
$ touch index.html
$ echo hello >> index.html
これでwebというdirectoryの中にhelloという書いてあるindex.htmlが作られました。次に、IDアドレスを確認します。
$ ifconfig
でeth1のinet addrを確認しましょう。多分、先にコメントアウトを解除した192.168.33.10と書いてあると思います。
最後に、
$ python -m SimpleHTTPServer
とすることでWebサーバが立ち上がります。ポートは8000番になっているはず…!
それでは最後にブラウザから確認してみましょう。
ブラウザで192.168.33.10:8000と入力してください。
helloと出ると思います。
これで、Webサーバの立ち上げの完了です。
何度もvagrant haltやvagrant upをしていると、
$ default: Error: Connection refused. Retrying...
が永遠と出続けることがあります。これは、強制終了などが起こり、リカバリーモードなどが起動した時に起こります。(実際にぼくも起こりました。)
この時は、VagrantfileのvirtualboxのGUIを起動させ、正しい起動をさせることで起こらなくなります。
virtualboxのGUIは
# config.vm.provider "virtualbox" do |vb|
# vb.gui = true
# vb.customize ["modifyvm", :id, "--memory", "1024"]
# end
という4つのコードのコメントアウトを解除することで起動します。困ったら試してみてください。
(この最後をメモとして残しておきたかった)
さんこうさいとさま
http://knowledge.sakura.ad.jp/tech/1552/
http://dev.classmethod.jp/server-side/virtual-box-vagrant/
2013年9月21日土曜日
ubuntu12.04を再起動したら画面が表示されなくなった
- "辛かった" -
っていうわけでubuntu12.04 LTSを使っていてX Window Systemに一日苦労した話です。
まず、X Window Systemについてです。
"X Window System(エックスウィンドウシステム、別称:「X11」・「X」など→名称については後述)とは、ビットマップディスプレイ上でウィンドウシステムを提供する表示プロトコルである。" -via wikipedia (http://ja.wikipedia.org/wiki/X_Window_System)
ubuntuのGUI画面が表示されないとき、だいたいこの子が原因だったりします。
今回はこんなかんじになりました。
------------------------------------------------------------------------------------------------------
うわーなんかいろいろ設定変えちゃったなー再起動しよーっと!
いつも通り起動…と……………あれ……ログイン画面が…出てこない……
まーたなんかgrubの設定変えちゃったかなー…
grubでubuntuのリカバリーモードを起動して…
ここでgrubが起動してることに気がつくべきだった
http://bats.cocolog-nifty.com/blog/2012/04/ubuntu1204-972e.html
ここを見ると…このgrubのバックアップとって…
日本語がttyでは表示されないのでここから最後まで◆マークと戦っていました。
$ sudo cp /etc/default/grub /etc/default/grub.back
$ sudo vim grub
中身~~~~~~~~~~
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
↓
GRUB_CMDLINE_LINUX_DEFAULT="quiet console=tty1"
~~~~~~~~~~~~~~
$ sudo update-grub
"よしこれで再起動してみよう"
PANIC: early exception ** ***********
!?!?!?
か…カーネルパニック……?
さっきのがよくなかったんだもどそうもどそう…
$ sudo rm /etc/default/grub
$ sudo mv /etc/default/grub.back /etc/default/grub
じゃあ以前もちょっと迷ったX windowかな…?
$ cd /etc/X11
$ ls
なにも異常なかった…
~ぐだぐだ調べて5時間経過~
とりあえずstartxすればわかるかも…
$ startx
***** *********** **************
******* **************** *******
/etc/X11/X no such file or directory
!?!?!?
Xなんて確かになかったな…でももとのないならしかたないか…
よし!再インストールしよう!
ubuntu liveCDをCDdriveに挿入
さーて…一応/etc/X11/を見てみるか…
$ ls
X Xinit ****** ******
こっちにはある…!
じゃあこのliveCDにある方を持っていけば…シンボリックリンクだからもとのファイルをlinkすれば…!
(liveCD上のterminal)
$ ln -s /usr/bin/X11/X /media/my HDD name/etc/X11/X
よしこれでOKだろう!
失敗
そうか!liveCDは使わないからちゃんともとのHDDの方から引っ張らなくちゃいけないのか!
(liveCD上のterminal)
$ ln -s /media/my HDD name/usr/bin/X11/X /media/my HDD name/etc/X11/X
失敗
~更に2時間経過~
http://askubuntu.com/questions/232926/etc-x11-x-not-executable-error-when-startx
うーん…ここを見るとxserver-xorgをインストールすればいいのかな…?
$ sudo apt-get update && apt-get upgrade
$ sudo apt-get install -reinstall xserver-xorg
エラーがでた…?けど日本語は◆だから読めない…
オプションだから-reinstall じゃなくて--reinstallだ!
$ sudo apt-get install -reinstall xserver-xorg
ふう…再起動だ…
失敗
ふと思いstartxをしてみる。
$ startx
/etc/X11/X not such file or directory
????
シンボリックリンクを確認してみるともとのリンク、つまりliveCDから見た/media/my HDD name/etc/X11/Xにリンクがついており、Xが開けなくなっていた。
よし…
$ ln -s /usr/bin/X11/X /etc/X11/X
$ sudo reboot now
成功した!!!
------------------------------------------------------------------------------------------------------
今回はいろいろな失敗が重なって時間がかかってしまいました。
っていうわけでubuntu12.04 LTSを使っていてX Window Systemに一日苦労した話です。
まず、X Window Systemについてです。
"X Window System(エックスウィンドウシステム、別称:「X11」・「X」など→名称については後述)とは、ビットマップディスプレイ上でウィンドウシステムを提供する表示プロトコルである。" -via wikipedia (http://ja.wikipedia.org/wiki/X_Window_System)
ubuntuのGUI画面が表示されないとき、だいたいこの子が原因だったりします。
今回はこんなかんじになりました。
------------------------------------------------------------------------------------------------------
うわーなんかいろいろ設定変えちゃったなー再起動しよーっと!
いつも通り起動…と……………あれ……ログイン画面が…出てこない……
まーたなんかgrubの設定変えちゃったかなー…
grubでubuntuのリカバリーモードを起動して…
ここでgrubが起動してることに気がつくべきだった
http://bats.cocolog-nifty.com/blog/2012/04/ubuntu1204-972e.html
ここを見ると…このgrubのバックアップとって…
日本語がttyでは表示されないのでここから最後まで◆マークと戦っていました。
$ sudo cp /etc/default/grub /etc/default/grub.back
$ sudo vim grub
中身~~~~~~~~~~
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
↓
GRUB_CMDLINE_LINUX_DEFAULT="quiet console=tty1"
~~~~~~~~~~~~~~
$ sudo update-grub
"よしこれで再起動してみよう"
PANIC: early exception ** ***********
!?!?!?
か…カーネルパニック……?
さっきのがよくなかったんだもどそうもどそう…
$ sudo rm /etc/default/grub
$ sudo mv /etc/default/grub.back /etc/default/grub
じゃあ以前もちょっと迷ったX windowかな…?
$ cd /etc/X11
$ ls
なにも異常なかった…
~ぐだぐだ調べて5時間経過~
とりあえずstartxすればわかるかも…
$ startx
***** *********** **************
******* **************** *******
/etc/X11/X no such file or directory
!?!?!?
Xなんて確かになかったな…でももとのないならしかたないか…
よし!再インストールしよう!
ubuntu liveCDをCDdriveに挿入
さーて…一応/etc/X11/を見てみるか…
$ ls
X Xinit ****** ******
こっちにはある…!
じゃあこのliveCDにある方を持っていけば…シンボリックリンクだからもとのファイルをlinkすれば…!
(liveCD上のterminal)
$ ln -s /usr/bin/X11/X /media/my HDD name/etc/X11/X
よしこれでOKだろう!
失敗
そうか!liveCDは使わないからちゃんともとのHDDの方から引っ張らなくちゃいけないのか!
(liveCD上のterminal)
$ ln -s /media/my HDD name/usr/bin/X11/X /media/my HDD name/etc/X11/X
失敗
~更に2時間経過~
http://askubuntu.com/questions/232926/etc-x11-x-not-executable-error-when-startx
うーん…ここを見るとxserver-xorgをインストールすればいいのかな…?
$ sudo apt-get update && apt-get upgrade
$ sudo apt-get install -reinstall xserver-xorg
エラーがでた…?けど日本語は◆だから読めない…
オプションだから-reinstall じゃなくて--reinstallだ!
$ sudo apt-get install -reinstall xserver-xorg
ふう…再起動だ…
失敗
ふと思いstartxをしてみる。
$ startx
/etc/X11/X not such file or directory
????
シンボリックリンクを確認してみるともとのリンク、つまりliveCDから見た/media/my HDD name/etc/X11/Xにリンクがついており、Xが開けなくなっていた。
よし…
$ ln -s /usr/bin/X11/X /etc/X11/X
$ sudo reboot now
成功した!!!
------------------------------------------------------------------------------------------------------
今回はいろいろな失敗が重なって時間がかかってしまいました。
- ttyの文字化け
- grubの原因だと勘違い
- リンク先の間違い
今回の起動しなかった主な原因は/etc/X11/Xの消失です。
もっと先にliveCDと比較しておけば良かったと思いました。
あとubuntu13.04からX window systemからMirに変わっているそうです。
関係ないですね。
次ほかのことが起こってもこんなに時間がかからないようにしたいですね……
っていうか第一なんで消えたんだろ…
2013年9月12日木曜日
ubuntuでデュアルディスプレイでの動画最大化について
マルチディスプレイでyoutubeやFlash動画などを見るときに、サブディスプレイで最大化をしてももう一つのディスプレイで作業しようとすると最大化が解除されるのがイライラするのでそれを解消させます。
環境
ubuntu12.04.2 LTS
chrome 29.0.1547.65
adobe flashplayer Shockwave Flash 11.2 r202
今回はバイナリを編集するのでghexというバイナリエディタを使用します。
$ sudo apt-get install ghex
chromeの場合アドレスバーに
chrome://plugins
と入力してShockwave Flashのある場所を確認してください。
その場所のlibflashplayer.soを編集します。
$ sudo ghex /to-your-flashplayer-plugin-path/libflashplayer.so
ghexには指定した場所に移動する機能があります。
探すものは_NET_ACTIVE_WINDOWです。この記述を__ET_ACTIVE_WINDOWと変えることで最大化が解除されなくなります。
必ず必要なことは文字数を変えないということです。
変更した後保存し、ブラウザを再起動するとできると思います。
アアッ...youtubeとか最大化がうまくいってない...これじゃあまり意味がない...
緊急の代替案としてchromeのextentionのMaximizeFlashを使用するとします…
まあ一応最大化したまま他の画面で作業はできるようになったから次また調べてやり直そゔ...
ubuntuはデュアルディスプレイ関連が甘いような…普通の人は使わないのかな…?
あとwindowsのaero snapみたいなのがデュアルディスプレイのディスプレイを跨いで移動してくれないなぁ…
windows7だと[win]+[arrow]でどんどん移動できたからこれがうまくubuntu12.04 LTSでも作動するようにしたいな…
さんこうさいとさま
http://www.ubunturoot.com/2011/07/fullscreen-flash-video-with-dual.html
http://www.webupd8.org/2012/10/ubuntu-multi-monitor-tweaks-full-screen.html
環境
ubuntu12.04.2 LTS
chrome 29.0.1547.65
adobe flashplayer Shockwave Flash 11.2 r202
- ghexをインストールします。
今回はバイナリを編集するのでghexというバイナリエディタを使用します。
$ sudo apt-get install ghex
- 次にghexで使用してるブラウザのadobe flashplayerのプラグインを編集します。
chromeの場合アドレスバーに
chrome://plugins
と入力してShockwave Flashのある場所を確認してください。
その場所のlibflashplayer.soを編集します。
$ sudo ghex /to-your-flashplayer-plugin-path/libflashplayer.so
ghexには指定した場所に移動する機能があります。
探すものは_NET_ACTIVE_WINDOWです。この記述を__ET_ACTIVE_WINDOWと変えることで最大化が解除されなくなります。
必ず必要なことは文字数を変えないということです。
変更した後保存し、ブラウザを再起動するとできると思います。
アアッ...youtubeとか最大化がうまくいってない...これじゃあまり意味がない...
緊急の代替案としてchromeのextentionのMaximizeFlashを使用するとします…
まあ一応最大化したまま他の画面で作業はできるようになったから次また調べてやり直そゔ...
ubuntuはデュアルディスプレイ関連が甘いような…普通の人は使わないのかな…?
あとwindowsのaero snapみたいなのがデュアルディスプレイのディスプレイを跨いで移動してくれないなぁ…
windows7だと[win]+[arrow]でどんどん移動できたからこれがうまくubuntu12.04 LTSでも作動するようにしたいな…
さんこうさいとさま
http://www.ubunturoot.com/2011/07/fullscreen-flash-video-with-dual.html
http://www.webupd8.org/2012/10/ubuntu-multi-monitor-tweaks-full-screen.html
登録:
投稿 (Atom)