Поиск по блогу :

    23 декабря 2007 г.

    Wine + DirectX 9

    Я человек хоть и взрослый, но сам, как ребенок, иногда люблю поиграть в какие-нить игры.
    Под Linux существует множество довольно интересных игр, но что делать, если хочется поиграть во что-нить новенькое, 3D-ое, которое обычно выпускается только под ЗлоОС :(



    Есть несколько вариантов выйти из положения:

    1) Использовать нативные версии игр, выпущенные специально под Linux. К таким играм относятся, например, игры компании idSoftware (все помнят Quake4, Doom3, Enemy Territory: Quake Wars), за что им отдельное спасибо.
    2) Использовать эмуляторы Wine или Cedega. Wine поддерживает множество виндовых программ и игр, но к сожалению не поддерживает DirectX 9, а ведь именно эту библиотеку используют многие современные игры. Cedega в этом плане немного опередила Wine - добавив у себя поддержку DirectX 9, но в плане юзабилити Cedega очень и очень придирчива к тому, что она запускает (реально запустить под Cedega у вас получится всего пару игр).

    Ну что же, будем исправлять положение, установим поддержку DirectX 9 для Wine.

    Устанавливаем последнюю версию wine. Для этого добавим себе официальный репозиторий Wine HQ для Ubuntu
    $

    $


    wget -q http://wine.budgetdedicated.com/apt/387EE263.gpg -O- | sudo apt-key add -
    sudo wget http://wine.budgetdedicated.com/apt/sources.list.d/.list -O /etc/apt/sources.list.d/winehq.list

    и устанавливаем wine
    $ $
    sudo apt-get update
    sudo apt-get install wine

    Если у вас уже установлен wine, то для чистоты эксперимента, удалите папку с настройками wine (или перенесите ее в другое место):
    $
    rm -dr ~/.wine

    1. Для создания папки с настройками, в первый раз, запускаем конфигуратор wine:
    $
    winecfg

    2. Теперь ищем в интернете или ,если у вас установлен на компе ЗлоХП, копируем из папки windows\system32\ файлы mscoree.dll и streamci.dll в папку ~/.wine/drive_c/windows/system32/
    3. Удаляем wine'ские файлы d3d:
    $ $

    cd ~/.wine/drive_c/windows/system32/
    rm d3d8.dll d3d9.dll ddraw.dll dsound.dll dsound.vxd quartz.dll dxdiagn.dll

    4. Редактируем файл user.reg:
    $
    gedit ~/.wine/user.reg

    в конец файла вставляем:
    [Software\\Wine\\DllOverrides] 1196330736
    "d3d8"="native"
    "d3d9"="native"
    "d3dim"="native"
    "d3dx8"="native"
    "d3dxof"="native"
    "dciman32"="native"
    "ddrawex"="native"
    "devenum"="native"
    "dinput"="native"
    "dinput8"="native"
    "dmband"="native"
    "dmcompos"="native"
    "dmime"="native"
    "dmloader"="native"
    "dmscript"="native"
    "dmstyle"="native"
    "dmsynth"="native"
    "dmusic"="native"
    "dplay"="native"
    "dplayx"="native"
    "dpnaddr"="native"
    "dpnet"="native"
    "dpnhpast"="native"
    "dswave"="native"
    "dxdiagn"="native"
    "mscoree"="native"
    "quartz"="native"
    "streamci"="native"
    5. Распаковываем последнюю версию DirectX (скачать последнюю версию можно отсюда):
    $
    wine directx_nov2007_redist.exe

    6. Выбираем папку куда распакуются файлы, после распаковки переходим в эту папку и запускаем установку:
    $
    wine DXSETUP.EXE

    6.1. В последней версии DirectX 9.0c может возникнуть ошибка по поводу .NET Framework - просто игнорируем ее.
    7. Снова запускаем конфигуратор wine:
    $
    winecfg

    7.1. Переходим на вкладку 'Библиотеки', выбираем из ниже приведенного списка названия библиотек, нажимаем редактировать и выбираем пункт 'Встроенная (Wine)'
    d3d8, d3d9, ddrawex, dinput, dinput8

    Теперь у вас в wine есть поддержка DirectX 9, с чем я вас и поздравляю!!! Теперь запускайте ваши любимые игры и наслаждайтесь игрой, но учтите, даже с поддержкой dx9, многие игры до сих пор еще не работают в wine.

    P.S. Различные нюансы по запуску нужной вам игры или программы, вы можете посмотреть в базе приложений Wine HQ или на блоге wine-review.blogspot.com.

    Просмотр информации SMART ваших винчестеров

    С помощью информации SMART можно очень многое узнать о вашем жестком диске. Например информацию по сбойным секторам и т.п.



    Устанавливаем программу smartmontools:
    #
    apt-get install smartmontools

    Для вывода необходимой информации по винчестерам, выполняем следующую команду
    для IDE:
    #
    smartctl --all -s on /dev/hda

    для SCSI:
    #
    smartctl --all -s on /dev/sda

    для SATA:
    #
    smartctl --all -s on -d ata /dev/sda

    13 декабря 2007 г.

    Запуск удаленной сессии через xinit

    Недавно возникла необходимость поработать на работе на удаленном linux-компьютере. В тот момент на нем уже работали, так что вариант с VNC отпал сразу же. Также у меня была возможность работать через ssh, но запуск отдельных приложений через параметр -X меня не устроил. И тут я вспомнил, что где-то читал про возможность запуска удаленной сессии по ssh через xinit.



    Для этого делаем следующее:

    1. Создаем публичный ключ (сразу оговорюсь, для своего(!) удобства ключевую фразу - оставлял пустой)
    $
    ssh-keygen -t rsa

    на все вопросы жмем Enter.
    2. Публикуем этот ключ на удаленную машину, к которой будем подключаться
    $
    ssh-copy-id -i ~/.ssh/id_rsa.pub user@host

    3. Переключаемся в консоль (не эмулятор) по Ctrl+Alt+F1
    4. Используем xinit для запуска удаленной сессии GNOME
    $
    xinit /usr/bin/ssh -X user@host gnome-session -- :1

    или
    $
    xinit /usr/bin/ssh -X user@host startkde -- :1

    для KDE.

    P.S. При данном методе мы запускаем удаленную сессию на удаленном компьютере, при этом сам рабочий стол отображается на нашем компьютере, но все процессы происходят на удаленном компьютере.
    Поясню по user@host. user - имя пользователя на удаленной машине, host - IP удаленного компьютера.
    И еще, чтобы вернуться к своей рабочей сессии, надо нажать на Ctrl+Alt+F7, чтобы обратно вернуться к удаленной сессии, надо нажать Ctrl+Alt+F9