全通り回している人が多そうだったので、真似してみたら終わらなかった。
何か間違っているのですかね。
Pythonですかね。
-----追記-----
アドバイスを受け、listをsetにしたらあっさり動きました。
おまじない的にlistにしてしまっていた…(´・ω・`)
permutation便利だな〜
pythonで組み合わせ生成
Topcoder SRM148Div2Hardの問題を解こうと思った時に、
Pythonで組み合わせってどうやって作るんだろうなと困ったので、調べてみた。
(まるで他言語だと書けるような言い回しですが、書けません。next_permutationという関数があるらしいということしか知りません。)
How to generate all permutations of a list in Python
このページに書いてあった。
この回答がとってもわかりやすい。
itertools便利だなー
http://docs.python.jp/2.7/library/itertools.html
Pythonで組み合わせってどうやって作るんだろうなと困ったので、調べてみた。
(まるで他言語だと書けるような言い回しですが、書けません。next_permutationという関数があるらしいということしか知りません。)
How to generate all permutations of a list in Python
このページに書いてあった。
この回答がとってもわかりやすい。
itertools便利だなー
http://docs.python.jp/2.7/library/itertools.html
XBee通信速度の変更
2013年12月5日木曜日
X-CTUで
Modem Configuration->Read->BD - Baud Rate
で通信速度を変更
参考にしたサイト
http://www.maroon.dti.ne.jp/koten-kairo/works/dsPIC/xbee5.html
XBeeのコツ
2013年12月4日水曜日
コツなのかわからないけど、友達に教えてもらったことをメモ
X-CTUでTest/Queryをクリックしても失敗することがある。
(というか私は毎回失敗する。)
そんな時は、そのままXBeeをXBeeエクスプローラーUSBから抜いてまた挿すと上手くいく
不思議だ。
駄菓子菓子うまくいくのである。
一体何が起きているのだ。
前に書いたQuoを使った自作PCは無事に完成いたしました。
よかった。
怖いので詳しいことは書きませんが、
インストールの時にBIOS(UEFI?)の画面で“Install 〜OS”を選んではいけないというのが重要。
UEFI ディスク名
というのを選べばうまくいく。
初めてのtopcoder
2013年11月29日金曜日
初めてTopcoderに参加してみた!
SRM598!
初めてなので、よくわからないですが、問題はかなり簡単だった印象。
少なくとも、私が練習のために解いてたDIV2 500の問題よりはだいぶ簡単だった気がする。
得意、不得意の問題かな?
そんな感じで、問題が簡単だったこともあり、めでたく(?)緑コーダー(?)になれました(∩´∀`)∩ワーイ
ここで、ID(?)を晒したのは自分にプレッシャーをかけるためですよ!
成長できるように頑張ります…
本当は1000の問題も解かなきゃいけないレベルだった気がする…ぐぅ…
私くらいのレベルでプロコンをやると、Pythonが可愛くて仕方ないですね。
書きたいことがすぐ書ける。素晴らしい。
コードはこんな感じ。
インデントずれてるかも。
DIV2 250
import math
import string
class ErasingCharacters:
def removeCh(self, s):
for i in range(len(s) - 1):
if s[i] == s[i + 1]:
s1 = ""
s2 = ""
if i > 0:
s1 = s[:i]
if i + 2 <= len(s):
s2 = s[i + 2:]
newS = s1 + s2
return newS
else:
return s
def simulate(self, s):
while len(s) > 0:
newS = self.removeCh(s)
if newS == s:
break
else:
s = newS
return newS
DIV2 500
import math
import string
class BinPackingEasy:
def minBins(self, item):
itemList = list(item)
bin = []
itemList.sort(reverse = True)
for i in itemList:
if i == 0:
bin.append(i)
else:
for j in range(len(bin)):
if bin[j] + i <= 300:
bin[j] = bin[j] + i
break
else:
bin.append(i)
return len(bin)
次も頑張ろ(∩´∀`)∩ワーイ
深夜ばっかりなので、いつ参加するかわからないけど…
SRM598!
初めてなので、よくわからないですが、問題はかなり簡単だった印象。
少なくとも、私が練習のために解いてたDIV2 500の問題よりはだいぶ簡単だった気がする。
得意、不得意の問題かな?
そんな感じで、問題が簡単だったこともあり、めでたく(?)緑コーダー(?)になれました(∩´∀`)∩ワーイ
ここで、ID(?)を晒したのは自分にプレッシャーをかけるためですよ!
成長できるように頑張ります…
本当は1000の問題も解かなきゃいけないレベルだった気がする…ぐぅ…
私くらいのレベルでプロコンをやると、Pythonが可愛くて仕方ないですね。
書きたいことがすぐ書ける。素晴らしい。
コードはこんな感じ。
インデントずれてるかも。
DIV2 250
import math
import string
class ErasingCharacters:
def removeCh(self, s):
for i in range(len(s) - 1):
if s[i] == s[i + 1]:
s1 = ""
s2 = ""
if i > 0:
s1 = s[:i]
if i + 2 <= len(s):
s2 = s[i + 2:]
newS = s1 + s2
return newS
else:
return s
def simulate(self, s):
while len(s) > 0:
newS = self.removeCh(s)
if newS == s:
break
else:
s = newS
return newS
DIV2 500
import math
import string
class BinPackingEasy:
def minBins(self, item):
itemList = list(item)
bin = []
itemList.sort(reverse = True)
for i in itemList:
if i == 0:
bin.append(i)
else:
for j in range(len(bin)):
if bin[j] + i <= 300:
bin[j] = bin[j] + i
break
else:
bin.append(i)
return len(bin)
次も頑張ろ(∩´∀`)∩ワーイ
深夜ばっかりなので、いつ参加するかわからないけど…
自作PCにWindowsをインストール
2013年11月26日火曜日
XBEEを使うために、Windowsが必要になる。
駄菓子菓子、教授がapple信者な研究室なので、研究室にwindowsの入ったPCがない。
むむむ
ということで、Virtual Boxを使って、Mac Book Airでwindowsを動かそうとしてみる。
16GBのUSBメモリが必要とのことだったので、かわいいUSBメモリを買ったのですよ。
駄菓子菓子、上手くいかない。(インストールに超絶時間がかかる&&インストール中にフリーズ)
ということで、壊れたまま放置していた、自作PCにwindowsさんをインストールしてみる。
先生が、大きいくせに80GBしかないハードディスクをwindows用にくださった。
自作PCには、ディスクドライブがないので、外付けのディスクドライブをUSB接続で。
駄菓子菓子、
Boot from CD/DVD:
の画面で固まる。何回やっても固まる。
色々ググってみるとドライブが悪いのではないかというページがあったので、
本格的な(?)ドライブを繋げてみる。
いった?と思いきや、
15分くらいこの画面で止まってる。だめぽ。
昨日、先生が買ってくださったどんなOSでも動かせるマザボが届いたので、これを使ってPCを修理するのが早いかな…
windowsの道は険しい…
追記
私が起動ディスクの作成に失敗していただけでした…
すみません(´・ω・`)
駄菓子菓子、教授がapple信者な研究室なので、研究室にwindowsの入ったPCがない。
むむむ
ということで、Virtual Boxを使って、Mac Book Airでwindowsを動かそうとしてみる。
16GBのUSBメモリが必要とのことだったので、かわいいUSBメモリを買ったのですよ。
駄菓子菓子、上手くいかない。(インストールに超絶時間がかかる&&インストール中にフリーズ)
ということで、壊れたまま放置していた、自作PCにwindowsさんをインストールしてみる。
先生が、大きいくせに80GBしかないハードディスクをwindows用にくださった。
自作PCには、ディスクドライブがないので、外付けのディスクドライブをUSB接続で。
駄菓子菓子、
Boot from CD/DVD:
の画面で固まる。何回やっても固まる。
色々ググってみるとドライブが悪いのではないかというページがあったので、
本格的な(?)ドライブを繋げてみる。
いった?と思いきや、
15分くらいこの画面で止まってる。だめぽ。
昨日、先生が買ってくださったどんなOSでも動かせるマザボが届いたので、これを使ってPCを修理するのが早いかな…
windowsの道は険しい…
追記
私が起動ディスクの作成に失敗していただけでした…
すみません(´・ω・`)
topcoderに挑戦してみようと思う
2013年11月14日木曜日
お久しぶりです。
Kadebo と あひるのピアノ のページを作ってみたので、
お時間のある方は見てみてください(∩゜∀゜∩)
みらくる☆けこたん どっと こむ
11月1日まで参加していた3ヶ月のインターンシップも終わり、暇になってきたのでtopcoderに挑戦してみようかと思っております!やっと!
topcoderについてなーんにも知らないのですが、Pythonでやりたいなぁと考えています。
お友達のブログを参考にしながら環境構築
Python対応してるTopCoderプラグインを発見してめちゃくちゃテンション上がってる
これは、エディターなのか…?
よくわからないけど、これだけじゃ参加できないようだ…?
ということで、topcoderにログインしてみる。実は会員登録だけは2年くらい前にしていた。
たった今、隣で友達が登録作業をしているのだけど、なんだか大変そうですネ
色々見てみると、どうやら"Arena"という場所に行かなければならないらしい。
だがしかし、色々サイトの見た目が変わっているらしくArenaが見つからない。
Top画面->Community->Analytics(Marathon)->Competitions->Algorithm->Single Round Matches(SRM)->Launch Arena
でArenaにアクセスできるのかな…?
Mac+Chromeな私はアクセスできなかったのですけど!
こんなブログ記事を見つけた。
TopCoderにブラウザからログイン出来ない場合
やってみた
出来た!(∩´∀`)∩ワーイ
KawigiEditはいつどうやって使うのかまだわかってないけどがんばる(∩´∀`)∩ワーイ
Kadebo と あひるのピアノ のページを作ってみたので、
お時間のある方は見てみてください(∩゜∀゜∩)
みらくる☆けこたん どっと こむ
11月1日まで参加していた3ヶ月のインターンシップも終わり、暇になってきたのでtopcoderに挑戦してみようかと思っております!やっと!
topcoderについてなーんにも知らないのですが、Pythonでやりたいなぁと考えています。
お友達のブログを参考にしながら環境構築
Python対応してるTopCoderプラグインを発見してめちゃくちゃテンション上がってる
これは、エディターなのか…?
よくわからないけど、これだけじゃ参加できないようだ…?
ということで、topcoderにログインしてみる。実は会員登録だけは2年くらい前にしていた。
たった今、隣で友達が登録作業をしているのだけど、なんだか大変そうですネ
色々見てみると、どうやら"Arena"という場所に行かなければならないらしい。
だがしかし、色々サイトの見た目が変わっているらしくArenaが見つからない。
Top画面->Community->Analytics(Marathon)->Competitions->Algorithm->Single Round Matches(SRM)->Launch Arena
でArenaにアクセスできるのかな…?
Mac+Chromeな私はアクセスできなかったのですけど!
こんなブログ記事を見つけた。
TopCoderにブラウザからログイン出来ない場合
やってみた
出来た!(∩´∀`)∩ワーイ
KawigiEditはいつどうやって使うのかまだわかってないけどがんばる(∩´∀`)∩ワーイ
友達の発見
2013年7月19日金曜日
openFrameworksのofImageのtypeがどういう基準で選ばれてるのかわからなかったのだけど友達が気づいた!
pngはOF_IMAGE_COLOR_ALPHAで
jpegはOF_IMAGE_COLORだということに…!
感動した(゜ω゜)(゜ω゜)(゜ω゜)(゜ω゜)(゜ω゜)
※事実確認はしておりません
pngはOF_IMAGE_COLOR_ALPHAで
jpegはOF_IMAGE_COLORだということに…!
感動した(゜ω゜)(゜ω゜)(゜ω゜)(゜ω゜)(゜ω゜)
※事実確認はしておりません
ofxOpenCVを使ってみる
2013年7月17日水曜日
ぼかしたーい
ということで,ofxOpenCvのblurを使ってみる.
addonsにofxOpenCvを追加すればいけるだろと思ったけど,駄目だった
ぐぐってみたら説明してくれているブログ発見
http://blog.n1n9.jp/how2/ofxcv-opencv.php
projectのBuildSettingsにあるHeader Search Pathsを
$(OF_CORE_HEADERS) "../../../addons/ofxOpenCv/libs/opencv/include/"
に変更する
無事にぼかせた(∩´∀`)∩ワーイ
(中→右がblur適用)
ちなみにこれは,blurの引き数を5にしております
コードは,
testApp.hに
ofxCvColorImage cvOutImage;
testApp.cppの適当な場所に
cvOutImage.allocate(width, height);
cvOutImage.setFromPixels(pixels, width, height);
cvOutImage.blur(5);
cvOutImage.draw(cameraWidth, 0);
を追加したくらい(∩´∀`)∩
ということで,ofxOpenCvのblurを使ってみる.
addonsにofxOpenCvを追加すればいけるだろと思ったけど,駄目だった
ぐぐってみたら説明してくれているブログ発見
http://blog.n1n9.jp/how2/ofxcv-opencv.php
projectのBuildSettingsにあるHeader Search Pathsを
$(OF_CORE_HEADERS) "../../../addons/ofxOpenCv/libs/opencv/include/"
に変更する
無事にぼかせた(∩´∀`)∩ワーイ
(中→右がblur適用)
ちなみにこれは,blurの引き数を5にしております
コードは,
testApp.hに
ofxCvColorImage cvOutImage;
testApp.cppの適当な場所に
cvOutImage.allocate(width, height);
cvOutImage.setFromPixels(pixels, width, height);
cvOutImage.blur(5);
cvOutImage.draw(cameraWidth, 0);
を追加したくらい(∩´∀`)∩
openFrameworksメモ【getPixels】
2013年7月9日火曜日
getPixelsについてメモメモ
2次元配列じゃなくて1次元で取ってくるんですね
以下は,OpenFrameworks doc 日本語訳からの引用です
【ofVideoGrabber】
unsigned char * getPixels();
現在のフレームのピクセル配列ポインタを返します.
データは、RGBで構成され、配列番号は [width*height*3]です.
【ofVideoPlayer】
unsigned char * getPixels();
現在のフレームのピクセル配列,RGB[width*height*3]のポインタを返します.
例:座標(100,20)のRGB値を取り出します.
unsigned char * pixels = myMovie.getPixels();
int widthOfLine = myMovie.width; // 画像の幅
int red = pixels[(20 * widthOfLine) + 100 * 3 ];
int green = pixels[(20 * widthOfLine) + 100 * 3 + 1];
int blue = pixels[(20 * widthOfLine) + 100 * 3 + 2];
2次元配列じゃなくて1次元で取ってくるんですね
以下は,OpenFrameworks doc 日本語訳からの引用です
【ofVideoGrabber】
unsigned char * getPixels();
現在のフレームのピクセル配列ポインタを返します.
データは、RGBで構成され、配列番号は [width*height*3]です.
【ofVideoPlayer】
unsigned char * getPixels();
現在のフレームのピクセル配列,RGB[width*height*3]のポインタを返します.
例:座標(100,20)のRGB値を取り出します.
unsigned char * pixels = myMovie.getPixels();
int widthOfLine = myMovie.width; // 画像の幅
int red = pixels[(20 * widthOfLine) + 100 * 3 ];
int green = pixels[(20 * widthOfLine) + 100 * 3 + 1];
int blue = pixels[(20 * widthOfLine) + 100 * 3 + 2];
openFrameworksのexamples
openFrameworksめも
2013年6月11日火曜日
先輩に教えていただいたことをφ(..)メモメモ
プロジェクトの名前をFinderから変更しちゃ駄目
駄目というか色々一緒に変えなきゃだから面倒なことになるのかな?
xcodeprojを開いてから、xcode上でプロジェクト名を変更すると色々一緒にrenameしてくれるっぽい。
プロジェクトの名前をFinderから変更しちゃ駄目
駄目というか色々一緒に変えなきゃだから面倒なことになるのかな?
xcodeprojを開いてから、xcode上でプロジェクト名を変更すると色々一緒にrenameしてくれるっぽい。
openFrameworksのexamplesまとめ3
openFrameworksのexamplesまとめ2
openFrameworksのexamplesまとめ1
2013年6月4日火曜日
sampleをまとめてるブログがあって、便利そうだったので、私もまとめてみる。
3d/cameraRibbonExample
マウスの動きに沿って線を描く
3d/cameraLensOffsetExample
何が起きてるかよくわからない(´ω`)
でも、顔を認識してくれてて、それに合わせて動いている様子
3d/cameraParentingExample
箱を動かしてる。
視点を変えたり、位置を変えたり、動きを変えたり
3d/easyCamExample
真ん中のカメラっぽいものを動かせる。
カメラを使ってそうなものを。
meshFromCamera
顔(カメラに映っているもの)が面白いことになる。
見事に出っ歯を強調してくださった。
3d/cameraRibbonExample
マウスの動きに沿って線を描く
3d/cameraLensOffsetExample
何が起きてるかよくわからない(´ω`)
でも、顔を認識してくれてて、それに合わせて動いている様子
3d/cameraParentingExample
箱を動かしてる。
視点を変えたり、位置を変えたり、動きを変えたり
3d/easyCamExample
真ん中のカメラっぽいものを動かせる。
カメラを使ってそうなものを。
meshFromCamera
顔(カメラに映っているもの)が面白いことになる。
見事に出っ歯を強調してくださった。
openFrameworks
研究のためにopenFrameworksを始めてみる☆
LionからopenFrameworksのsampleを動かそうとしたら失敗したので、
MountainLionにupgradeした(∩´∀`)∩ワーイ
MountainLionなら問題なく動きました〜
でもLionでも動くらしいです。
早速、先輩に教えていただいたことをメモ
新しいアプリケーションの作り方
of_v0.7.4_osx_release/apps/emptyExample
をコピー
階層の違う場所にコピーしちゃうと動かない?
LionからopenFrameworksのsampleを動かそうとしたら失敗したので、
MountainLionにupgradeした(∩´∀`)∩ワーイ
MountainLionなら問題なく動きました〜
でもLionでも動くらしいです。
早速、先輩に教えていただいたことをメモ
新しいアプリケーションの作り方
of_v0.7.4_osx_release/apps/emptyExample
をコピー
階層の違う場所にコピーしちゃうと動かない?
めも@homebrew
2013年5月28日火曜日
$ brew doctor
を実行すると
Warning: "config" scripts exist outside your system or Homebrew directories. `./configure` scripts often look for *-config scripts to determine if software packages are installed, and what additional flags to use when compiling and linking.
Having additional scripts in your path can confuse software installed via Homebrew if the config script overrides a system or Homebrew provided script of the same name. We found the following "config" scripts:
/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python-config /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2-config /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7-config
と出る。
多分、Pythonを入れなおしたのが原因…?
ググった感じ、このwarningで困っている人が多そう。
駄菓子菓子、解決策はよくわからず…
とりあえず、
http://www.verious.com/qa/unexpected-pc-files-setting-up-home-brew/
を参考に、ファイル名を変更してみた。
$ sudo mv /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python-config /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python-config.old
$ sudo mv /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2-config /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2-config.old
$ sudo mv /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7-config /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7-config.old
うーん
とりあえず解決したけど、本当に書き換えてしまって良かったのだろうか…
よくわからないです(TωT)
困った時に戻せるように、めもめも
を実行すると
Warning: "config" scripts exist outside your system or Homebrew directories. `./configure` scripts often look for *-config scripts to determine if software packages are installed, and what additional flags to use when compiling and linking.
Having additional scripts in your path can confuse software installed via Homebrew if the config script overrides a system or Homebrew provided script of the same name. We found the following "config" scripts:
/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python-config /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2-config /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7-config
と出る。
多分、Pythonを入れなおしたのが原因…?
ググった感じ、このwarningで困っている人が多そう。
駄菓子菓子、解決策はよくわからず…
とりあえず、
http://www.verious.com/qa/unexpected-pc-files-setting-up-home-brew/
を参考に、ファイル名を変更してみた。
$ sudo mv /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python-config /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python-config.old
$ sudo mv /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2-config /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2-config.old
$ sudo mv /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7-config /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7-config.old
うーん
とりあえず解決したけど、本当に書き換えてしまって良かったのだろうか…
よくわからないです(TωT)
困った時に戻せるように、めもめも
マキャベリ 新宿店
2013年5月24日金曜日
久々のぶろぐー(∩´∀`)∩
書きたいことは沢山あるのですが、なんだか面倒くさくて書いてなかったのです(´・ω・`)
先輩に「一言でも書いたら良いんだよー!」と言ってもらったので、一言だけ書きに来た(∩´∀`)∩
今日は、なんだか預金口座にお金がいっぱいあったので、小田急百貨店で夜ご飯を食べました
初めてマキャベリ 新宿店に行ったよ〜☆
食べログの点数はあまり高くないけど、とっても美味しかった♡
また行きたい☆
書きたいことは沢山あるのですが、なんだか面倒くさくて書いてなかったのです(´・ω・`)
先輩に「一言でも書いたら良いんだよー!」と言ってもらったので、一言だけ書きに来た(∩´∀`)∩
今日は、なんだか預金口座にお金がいっぱいあったので、小田急百貨店で夜ご飯を食べました
初めてマキャベリ 新宿店に行ったよ〜☆
食べログの点数はあまり高くないけど、とっても美味しかった♡
また行きたい☆
zshと私
2013年1月16日水曜日
今日は久しぶりに研究室サーバ(ubuntu+apache)を少しいじってました。
ユーザを追加したり、
GUIでファイルを動かしたいという意見があったため、Sambaの設定をいじったり。
いじると言っても
/etc/samba/smb.confに
[home]
path = /home
writable = yes
guest ok = no
を書き足しただけですが。
多分、
・homeディレクトリを共有(共有したいディレクトリ名)
・homeディレクトリのパス(共有したいディレクトリのパス)
・書き込み権限を与える
・ゲストのログインを許可しない
といった感じです。
そうしたら、なんだか楽しくなってきて、自分のログインシェルをzshに変えたくなる。
(天才プログラマから頂いたzshrcがあるので、zshだとかわいくなるのです。)
/etc/passwdでbash→zshに変えて、ログアウトして、再ログイン!
と思ったら入れない。
permission deniedみたいなこと言ってくる。
よくよく考えたらubuntuさんにzshインストールしてなかったわ(^q^)
先生に、私のログインシェルを戻してもらって(ログインできないから自分じゃ戻せないw)
ログイン→zshインストール→zshに変更で一件落着。
という大変な1日でした。
素人は素人らしくしないと駄目ですね。
-----------追記(1/17)------------
そもそも /etc/passwd を直接書き換えたのが間違えだったっぽいです(´ω`)
天才プログラマさんによると、chshでログインシェルが変更できるらしい!
試してないですけど!
chshで変更しておけば、zshなんか入ってないですよーってエラーを出してくれそうですね!
ユーザを追加したり、
GUIでファイルを動かしたいという意見があったため、Sambaの設定をいじったり。
いじると言っても
/etc/samba/smb.confに
[home]
path = /home
writable = yes
guest ok = no
を書き足しただけですが。
多分、
・homeディレクトリを共有(共有したいディレクトリ名)
・homeディレクトリのパス(共有したいディレクトリのパス)
・書き込み権限を与える
・ゲストのログインを許可しない
といった感じです。
そうしたら、なんだか楽しくなってきて、自分のログインシェルをzshに変えたくなる。
(天才プログラマから頂いたzshrcがあるので、zshだとかわいくなるのです。)
/etc/passwdでbash→zshに変えて、ログアウトして、再ログイン!
と思ったら入れない。
permission deniedみたいなこと言ってくる。
よくよく考えたらubuntuさんにzshインストールしてなかったわ(^q^)
先生に、私のログインシェルを戻してもらって(ログインできないから自分じゃ戻せないw)
ログイン→zshインストール→zshに変更で一件落着。
という大変な1日でした。
素人は素人らしくしないと駄目ですね。
-----------追記(1/17)------------
そもそも /etc/passwd を直接書き換えたのが間違えだったっぽいです(´ω`)
天才プログラマさんによると、chshでログインシェルが変更できるらしい!
試してないですけど!
chshで変更しておけば、zshなんか入ってないですよーってエラーを出してくれそうですね!
香港・マカオ旅行
2013年1月14日月曜日
登録:
投稿 (Atom)