Como todo bom viciado em
Bash, e
Gentoo Linux, resolvi deixar o N900 mais próximo de um ambiente Gentoo:
0) Presumo que você já tenha acesso modo root, com o gainroot (pacote rootsh) e openssh instalados, reparem o gainroot é parte da FW original do N900, contudo o gainroot que vem instalado apenas lhe exibe uma mensagem de alerta!
$ /usr/sbin/gainroot
Enable RD mode if you want to break your device
1) Instale o pacote
bash3, olhe só o description do pacote, fiz um pacote mais ou menos assim para o N810, está no meu repositório.
Description: The GNU Bourne Again SHell branch 3.x, tuned for maemo
Bash is a command-line program which may replace your standard
command-line shell with a improved, feature-rich interface.
.
Bash is an sh-compatible command language interpreter that executes
commands read from the standard input or from a file. Bash also
incorporates useful features from the Korn and C shells (ksh and csh).
.
This is a special version for the Maemo platform, with everything
that is not too useful on a Internet Tablet stripped off.
2) Rode o comando
bash-setup, logado em cada usuário que deseja a Advanced Shell, o modo mais fácil é logar pelo ssh como root, rodar o script, depois definir uma senha para o usuário user (isso mesmo!), e em seguida entrar no ssh como user, e rodar o script novamente.
ATENÇÃO: Nunca remova o Busybox, isso irá detonar o N900.
3) Instalae o
vim, e não remova o link simbólico do busybox para o vi!
4) Quem já usou Gentoo deve sentir muita falta da Advanced Shell, agora mais uns ajustes finos, faça nos dois usuários (root e user)
4.1) Ajustes do vim, não são perfeitos mas ajudam muito:
Crie o arquivo
~/.vimrc , com o seguinte conteúdo:
set nocompatible " Use Vim defaults (much better!)
set bs=2 " Allow backspacing over everything in insert mode
set history=100 " keep 50 lines of command history
set ruler " Show the cursor position all the time
set viminfo='20,\"500 " Keep a .viminfo file.
syntax on
set hlsearch
4.2) Ajustes da BAsh, esses sim fazem falta, sempre coloco no Ubuntu e outras distros... com os 3 arquivos abaixo a bash fica muito legal e com a cara do Gentoo!
4.2.1) Crie o arquivo
~/.bashrc
if type -P dircolors >/dev/null ; then
if [[ -f ~/.dir_colors ]] ; then
eval $(dircolors -b ~/.dir_colors)
elif [[ -f /etc/DIR_COLORS ]] ; then
eval $(dircolors -b /etc/DIR_COLORS)
fi
fi
if [[ ${EUID} == 0 ]] ; then
PS1='\[\033[01;31m\]\h\[\033[01;34m\] \W \$\[\033[00m\] '
else
PS1='\[\033[01;32m\]\u@\h\[\033[01;34m\] \w \$\[\033[00m\] '
fi
umask 022
export PATH=/sbin:/usr/sbin:/usr/local/sbin:$PATH
export HISTSIZE=1000
export HISTFILESIZE=1000
PROMPT_COMMAND="history -a; $PROMPT_COMMAND"
# Change the window title of X terminals
case ${TERM} in
xterm*|rxvt*|Eterm|aterm|kterm|gnome*|interix)
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\007"'
;;
screen)
PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\033\\"'
;;
esac
shopt -s checkwinsize
# Enable history appending instead of overwriting. #139609
shopt -s histappend
4.2.2) Crie o arquivo ~/.profile
# ~/.profile: executed by Bourne-compatible login shells.
if [ "$BASH" ]; then
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
fi
mesg n
4.2.3) Para autocompletar comandos já usado, crie o arquivo
~/.inputrc
"\e[5~": history-search-backward
"\e[6~": history-search-forward
Comece a digitar um comando já usado e toque em PageUp e PageDown para completar o comando, oh coisa boa!
Ficaremos com um prompt vermelho para o root e verde para outros usuários e com histórico de 1000 comandos, dentre outras coisas!
5) Altere o gainroot para usar a bash, como root:
$ vim /usr/sbin/gainroot
Edite a linha:
HISTFILE=/root/.ash_history /bin/ash
Para:
HISTFILE=/root/.bash_history /bin/bash
Agora só por o X Terminal com fundo preto e letras brancas! :P