Pular para o conteúdo principal

Script de instalação do Steam no Debian Wheezy

Finalmente estão pensando nos gamers que usam Linux. A novidade é que a Valve, criadora de jogos como Counter Strike e outros, lançou sua plataforma de jogos Steam para Linux.

Infelizmente eles fizeram mais pensando na turma do Ubuntu, e portanto é complicado fazer uma instalação do Steam para outras distros.
Felizmente, criarem um script onde toda essa complexidade é automatizada para instalar o steam, pelo menos no Debian Wheezy.

Confiram o script:

#!/bin/bash
#
# Steam installer for Debian wheezy (32- and 64-bit)
#
# Place into empty directory and run.
#

download() {
    local url="$1"
    local filename="$(basename "$url")"

    if [ ! -f "$filename" ]; then
        wget -c "$url" -O "$filename.part"
        mv "$filename.part" "$filename"
    fi
}

package() {
    local url="$1"
    local target="$2"

    download "$url"

    mkdir -p "$target"
    ar p "$(basename "$url")" data.tar.gz | tar xz -C "$target"
}

set -e

package http://media.steampowered.com/client/installer/steam.deb "${PWD}/tree"

STEAMPACKAGE="steam"
STEAMCONFIG="${HOME}/.steam"
STEAMDATALINK="${STEAMCONFIG}/${STEAMCONFIG}"
STEAMBOOTSTRAP="steam.sh"
LAUNCHSTEAMDIR="$(readlink -eq "${STEAMDATALINK}" || echo)"
LAUNCHSTEAMPLATFORM="ubuntu12_32"
LAUNCHSTEAMBOOTSTRAPFILE="${PWD}/tree/usr/lib/steam/bootstraplinux_${LAUNCHSTEAMPLATFORM}.tar.xz"
STEAM_DATA_HOME=${XDG_DATA_HOME:-$HOME/.local/share}
CLASSICSTEAMDIR="$HOME/Steam"
DEFAULTSTEAMDIR="$STEAM_DATA_HOME/Steam"

STEAMDIR="${DEFAULTSTEAMDIR}"

if [ ! -d "$STEAMCONFIG" ]; then
    mkdir "$STEAMCONFIG"
fi

echo "Setting up Steam content in $STEAMDIR"

mkdir -p "${STEAMDIR}"
tar xJf "${LAUNCHSTEAMBOOTSTRAPFILE}" -C "${STEAMDIR}"

cat > "${STEAMDIR}/steam_on_debian.sh" < "${STEAM_DATA_HOME}/applications/steam.desktop"
cp -R tree/usr/share/icons "${STEAM_DATA_HOME}"

echo "Adding Steam to PATH"
MAGIC_LINE="[[ -f \"${STEAMDIR}/setup_debian_environment.sh\" ]] && source \"${STEAMDIR}/setup_debian_environment.sh\""

cat > "${STEAMDIR}/setup_debian_environment.sh" < /dev/null 2>&1; then
    PATH="${STEAMDIR}/debian_bin:${PATH}"
    export PATH
fi
EOF

mkdir -p "${STEAMDIR}/debian_bin"

cat > "${STEAMDIR}/debian_bin/steam" <> "${HOME}/.bashrc"

    echo
    echo "Steam was added to your profile. Please relogin or source ~/.bashrc."
    echo
fi

echo "To uninstall:"
echo "rm -rf ${STEAM_DIR}"
echo "rm -f everything steamish from ${STEAM_DATA_HOME}/applications"
echo "remove ${MAGIC_LINE} from ${HOME}/.bashrc"

Para instalar, vocẽ precisa já estar logado no site do steam no seu navegador, porque no fim da instalação ele precisa atualizar do servidor da Valva. Jogue o script na pasta raiz de seu usuário, dê permissão de execução, e rode.

Quem quiser baixar o script direto, eis o link aqui : steam_bootstrap.sh
Agora divirtam-se.

Comentários

  1. Preciso de uma ajuda estou com debian wheezy 7.1. atraves do seu script rodei e estou jogando normalmente, porém todas as vezes que preciso rodar o steam tenho que ir ate o terminal logado como root e rodar o steam teria uma opção que possa usar para criar um link simbolico em meu desktop ?
    desde já agradeço seu tutorial esta 100%.

    ResponderExcluir
    Respostas
    1. Olá Roberto. Só olha no seu arquivo '.bashrc' do root que vai ver a entrada que o Steam criou. Só copiar mudando para sua pasta de usuário, assim:

      [[ -f "/home/meu_usuario/.local/share/Steam/setup_debian_environment.sh" ]] && source "/home/meu_usuario/.local/share/Steam/setup_debian_enviro\
      nment.sh"

      Copia da pasta root para a pasta de usuário todas essas pastas ai do código e pronto.

      Excluir

Postar um comentário

Postagens mais visitadas deste blog

PHP : array de estados brasileiros com nomes e siglas

Esse é um simples array com os nomes dos estados e suas correspondentes siglas. Cada estado é um array numerado e e "bem comportado" : tudo em minúsculas e sem acentos, porque evita problemas de compatibilidade de codificação e você sempre pode usar um "strtoupper", "ucfirst" e "ucwords" do PHP para tratar a formatação. $estados = array( 1=>array("sigla"=>"ac","nome"=>"acre"), 2=>array("sigla"=>"al","nome"=>"alagoas"), 3=>array("sigla"=>"am","nome"=>"amazonas"), 4=>array("sigla"=>"ap","nome"=>"amapa"), 5=>array("sigla"=>"ba","nome"=>"bahia"), 6=>array("sigla"=>"ce","nome"=>"ceara"), 7=>array("sigla"=>"df","nome"=>...

Javascript : Simples Video Player usando Youtube API

Para quem não sabe, a Google disponibiliza para desenvolvedores uma APi de manipulação para vídeos do Youtube, onde você pode ter uma grande quantidade de opções de controle. Baseado nessa API, vou disponibilizar aqui um simples player que aceita opções. Crie um script de nome 'youtube.js' e coloque o seguinte conteudo // youtube.js // Aqui é incluido a API em javascript para Youtube. var tag = document.createElement('script'); tag.src = "https://www.youtube.com/iframe_api"; var firstScriptTag = document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(tag,firstScriptTag); // Aqui é a função que carrega o vídeo. // 'vid' é o id do video do youtube. // 'playerid' é o id da tag html que vai rodar o vídeo. function loadVideo(vid,playerid){ var player = new YT.Player(playerid, { // O id do player é colocado, passado pelo parâmetro da função. height: '390', width: '640', ...

Javascript : como salvar qualquer tipo de valor de uma requisição ajax

Uma das coisas que mais batem a cabeça de quem trabalha com ajax é conseguir salvar os valores retornados numa requisição do tipo var xmlhttp; function myRequestFunction(){ var http_request = new XMLHttpRequest(); try{ // Opera 8.0+, Firefox, Chrome, Safari http_request = new XMLHttpRequest(); } catch(e){ // Internet Explorer Browsers try{ http_request = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e){ try{ http_request = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e){ alert("Your browser broke!"); return false; } } } http_request.onreadystatechange = function f(){ if( http_request.readyState == 4 ){ var jsonObj = JSON.parse(http_request.responseText); valor = jsonObj.value; } } http_request.open("GET", data_file, false); http_request.send(); } ...