2016年9月10日土曜日

ubuntu 16.04 / elementary OS で Ruby + Rails インストール

rbenv + postgresql を使います。


依存ライブラリのインストール
  • sudo apt-get update
  • sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev

rbenv のインストール
  • cd
  • git clone https://github.com/rbenv/rbenv.git ~/.rbenv
  • echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
  • echo 'eval "$(rbenv init -)"' >> ~/.bashrc
  • exec $SHELL
  • git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
  • echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
  • exec $SHELL

Ruby のインストール
  • rbenv install 2.3.1
  • rbenv global 2.3.1
  • ruby -v
  • gem install bundler

Node.js のインストール
  • curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
  • sudo apt-get install -y nodejs

Rails のインストール
  • gem install rails
  • rbenv rehash
  • rails -v

Postgresql のインストール
  • sudo sh -c "echo 'deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main' > /etc/apt/sources.list.d/pgdg.list"
  • wget --quiet -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | sudo apt-key add -
  • sudo apt-get update
  • sudo apt-get install postgresql-common
  • sudo apt-get install postgresql-9.5 libpq-dev

Postgresql の認証設定
開発環境用として、postgres アカウントはローカルPCからパスワード無しで接続できるように設定します。
  • /etc/postgresql/9.5/main/pg_hba.confを開き、localのレコードを trust に変更
  • sudo /etc/init.d/postgresql reload

アプリケーションの作成と動作確認
  • rails new testapp -d postgresql
  • rails db:create
  • rails server

2016年9月7日水曜日

elementary OS Loki インストール

elementary OS とは、ubuntuベースのLinux ディストリビューションです。ちょっとオシャレな ubuntu という感じで使うことができます。


スクリーンショットでは、インストール後にアイコンなどをカスタマイズしています。私がデフォルトインストール後に行っている作業を紹介します。

パッケージの更新
ターミナルを開いて、まずは最新化。
  • sudo apt-get update
  • sudo apt-get upgrade

Google日本語入力のインストール
mozcをインストールすれば日本語も入力できるようになります。
  • sudo apt-get install fcitx-mozc

エディタとブラウザのインストール
デフォルトでもエディタ(Scratch)とブラウザ(Epiphany)は入っていますが、atom と chromeを使っています。debパッケージをダウンロードしてきてから sudo dpkg -i  xxxxx.deb でインストールしています。
2016年9月10日現在、依存関係に問題がありインストール時にエラーが発生しますが、その後  sudo apt-get upgrade -f を実行することで解消できました。

add-apt-repositoryのインストール
標準では入っていないためインストールします。

  • sudo apt-get install software-properties-common

Tweaksのインストール
アイコンやフォントをカスタマイズしたい場合、 Tweaks をインストールする必要があります。インストール後、システム設定の中の Tweaks から起動します。
  • sudo add-apt-repository ppa:philip.scott/elementary-tweaks
  • sudo apt-get update
  • sudo apt-get install elementary-tweaks

TLP(省電力設定)のインストール
ノートPCを使っているため、tlp をインストールしています。
#ただ、実際に効果があるのかは未確認。
  • sudo add-apt-repository ppa:linrunner/tlp
  • sudo apt-get update
  • sudo apt-get install tlp tlp-rdw
  • sudo tlp start

THERMALD と INTEL P-STATE (省電力設定)
http://www.webupd8.org/2014/04/prevent-your-laptop-from-overheating.html を参考に powersave モードに設定しています。

アイコンパック(numix-circle)のインストール
アイコンはお好みで。標準アイコンも綺麗ですけどね。
インストール後、tweaks から変更ができます。
  • sudo add-apt-repository ppa:numix/ppa
  • sudo apt-get update
  • sudo apt-get install numix-icon-theme-circle

アイコンパック(paper-icon)のインストール
スクリーンショットのアイコンは、paper-iconです。
  • sudo add-apt-repository ppa:snwh/pulp
  • sudo apt-get update
  • sudo apt-get install paper-icon-theme
  • sudo apt-get install paper-gtk-theme
  • sudo apt-get install paper-cursor-theme

日本語入力の問題
elementary OS は以前から scratch(標準テキストエディタ) で日本語入力ができない問題がありました。最新バージョンの Loki では fcitx-frontend-gtk3 を外すことで対処したようですが、その影響でターミナルやブラウザなどでインラインでの日本語入力ができなくなってしまったようです。
インライン入力をしたい場合、ターミナルから以下のコマンドを実行し、Fcitxの設定を起動して設定を変更してください。
  • fcitx-config-gtk3
Fcitxの設定で、[アドオン]-[拡張](チェック)-[Fcitx XIM Frontend]-[設定]-[XIMでOn The Spotスタイルを使う(起動中は変更できません)](チェック)-[OK]で、Fcitxの[再起動]をクリックすると次からインラインで表示するようになります。

フォントの変更
Noto Fonts がデフォルトでインストールされています。
tweaks をつかって、 Default と Document のフォントを Noto Sans CJK JP Lightに変更しています。

Windowsとデュアルブートしている場合
Windowsを起動したときに時計の時刻がずれる場合、以下のコマンドを実行しておくとずれないようになります。

  • sudo timedatectl set-local-rtc 1


あとは、開発言語のセットアップなどです。私は Ruby (Rails) や Postgres などを入れていますが、Ubuntu 16.04 と同じ手順で入ります。
開発環境として使う分には特に不自由ありません。

2015年6月15日月曜日

Ubuntuのディスク容量が不足してきた場合

Ubuntuを長く使っていると、ディスク容量が不足してきます。
使っていないカーネルを削除するだけでかなり開放することができます。

私の場合、半年くらい使っていた環境で、3GBくらいを開放することができました。


まずは、キャッシュの開放。

$ sudo apt-get clean


次に、古いカーネルの削除。
まずは、以下のコマンドで、現在のカーネルのバージョンを確認。

$ uname -a


次に、インストールされているlinux-imageの確認。

$ dpkg --get-selections | grep linux-image


現在のバージョン以外を以下のコマンドで削除。

$ sudo apt-get remove -y linux-image-3.xx.xx-xx-generic


headersも、同様。

$ dpkg --get-selections | grep linux-headers

現在のバージョン以外を以下のコマンドで削除。

$ sudo apt-get remove -y linux-headers-3.xx.xx-xx






2015年5月20日水曜日

Arduinoでテトリス

Arduinoで簡単なテトリスを作ってみました。(正確には、移植)


https://github.com/takjn/tetris

aitendoで売られている128x64pixelのFSTN液晶を使います。

操作キーは、左右と回転の3つのみです。
接続は、tetris.inoの8〜15行目を参考にしてください。
digital pin 2, 3, 4を操作キーに使います。
digital pinをGNDに落とすと、ブロックが動きます。

回路図はそのうち書きます。

2014年12月23日火曜日

ATmega 1284PをArduino化したときのピンマッピング

個人的な備忘録。
Arduino on ATmega1284P より。
                      +---\/---+
           (D 0) PB0 1|        |40 PA0 (AI 0 / D24)
           (D 1) PB1 2|        |39 PA1 (AI 1 / D25)
      INT2 (D 2) PB2 3|        |38 PA2 (AI 2 / D26)
       PWM (D 3) PB3 4|        |37 PA3 (AI 3 / D27)
    PWM/SS (D 4) PB4 5|        |36 PA4 (AI 4 / D28)
      MOSI (D 5) PB5 6|        |35 PA5 (AI 5 / D29)
  PWM/MISO (D 6) PB6 7|        |34 PA6 (AI 6 / D30)
   PWM/SCK (D 7) PB7 8|        |33 PA7 (AI 7 / D31)
                 RST 9|        |32 AREF
                VCC 10|        |31 GND
                GND 11|        |30 AVCC
              XTAL2 12|        |29 PC7 (D 23)
              XTAL1 13|        |28 PC6 (D 22)
      RX0 (D 8) PD0 14|        |27 PC5 (D 21) TDI
      TX0 (D 9) PD1 15|        |26 PC4 (D 20) TDO
RX1/INT0 (D 10) PD2 16|        |25 PC3 (D 19) TMS
TX1/INT1 (D 11) PD3 17|        |24 PC2 (D 18) TCK
     PWM (D 12) PD4 18|        |23 PC1 (D 17) SDA
     PWM (D 13) PD5 19|        |22 PC0 (D 16) SCL
     PWM (D 14) PD6 20|        |21 PD7 (D 15) PWM
                      +--------+
                     ATmega 1284p
書き込みに使うのは、本家からfolkしたこちらがおススメ。 https://github.com/JChristensen/mighty-1284p

ATmega 328PをArduino化した時のピンマッピング

個人的な備忘録。
ATmega 328pをArduino化した時のピンアサイン。
    ┏━━━━┓
rst ┃1     28┃ a15
rxd ┃2     27┃ a14
txd ┃3     26┃ a13
d2  ┃4     25┃ a12
d3  ┃5     24┃ a11
d4  ┃6     23┃ a10
vcc ┃7     22┃ gnd
gnd ┃8     21┃ aref
xt1 ┃9     20┃ avcc
xt2 ┃10    19┃ d13
d5  ┃11    18┃ d12
d6  ┃12    17┃ d11
d7  ┃13    16┃ d10
d8  ┃14    15┃ d9
    ┗━━━━┛
    atmega 328p

FT232RLのISP端子

個人的な備忘録。
FT232RLを使ってArduinoのbootloaderを書き込むときの配線。

    ┏━━┓
CTS ┃・・┃ 5V
DSR ┃・・┃ DCD
RI  ┃・・┃ GND
    ┗━━┛
      ISP
            │ 1284p│ 328p 
──────┼───┼───
CTS → MISO │   7  │ 18
DSR → SCK  │   8  │ 19
RI  → RESET│   9  │  1
DCD → MOSI │   6  │ 17