Юрій Вунтесмері, персональна сторінка викладача
Головна  |  Про мене  |  Розклад  |  Навчальні курси  |  Публікації  |  Кафедра

Алгоритмічні мови та програмування

Матеріали до дистанційної роботи

Навчальні матеріали

Доступ до сервера віддаленої роботи

Для віддаленого завантаження, написання, компіляції та відлагоження лабораторних завдань підготований сервер віддаленої розробки. На сервері встановленя ОС Linux, тож для роботи з ним необхідно освіжити навички користування текстовою консоллю:

Сервер доступний за протоколом SSH за адресою sandbox.ee.kpi.ua порт 22 зсередини мережі КПІ (наприклад з гуртожитку) та 6022 зовні.

Для кожного студента створений персональний акаунт виду dmXXYY де XXY - номер групи, YY - порядковий номер за списком (див. журнал успішності) наприклад dm9102 пароль q1w2e3r4t5. Після прешого входу бажано поміняти пароль командою passwd

Якщо ви користуєтесь ОС Linux чи MacOS чи іншою, що має вбудований термінал та ssh клієнт, то достатньо набрати в терміналі

ssh sandbox.ee.kpi.ua -p 6022 -l $LOGIN

Якщо ви користуєтесь ОС Windows, то для доступу вам знадобиться програма PuTTY . Скачати треба тільки саму програму putty.exe

Запущену програму необхідно налаштувати наступним чином:

Після першого під'єднання до сервера, вона запитає чи зберегти ключі шиврування сесії - треба погодитись.

Далі Ви отримаєте доступ до термінальної консолі сервера і зможете маніпулювати файлами у своєму домашньому каталозі.

Про користування командним рядком bash, написання сценаріїв та налаштування консолі рекомендую [почитати ТУТ]

Рекомендую також скачати підготовлені файли налаштувань для [ BASH ] та [ редактора VIM ]. Для скачування використовуйте wget.

Для завантаження файлів зі свого комп'ютера на сервер і навпаки вам знадобиться програма WinSCP . Вона налаштовується інтуітивно і надає інтерфейс подібнйи до більшості файлових менеджерів.

Для отримання швидкої довідки щодо команд чи функцій стандартної бібліотеки сілд використовувати команду man:

Документація з BASH

Експорт графічних інтерфейсів з сервера

Є можливість запускати на сервері програми з графічними інтерфейсами та експортувати ці інтерфейси на робочу станцію.

Для цього поперше необхідно встановити Х-сервер. Версію для windows можна скачати тут. Версія для MacOS доступна тут.

Для windows необхідно зробити у профілі PuTTY додаткові налаштування:

Перед встановленням з'єднання, необхідно запустити встановлену раніше програму віконного сервера (XLaunch).

Для MacOS чи Linux досттньо додати до командного рядка ssh опцію -X

Тепер запущені на сервері програми з графічним інтерфейсом будуть відображені у віконному інтерфейсі вашої робочої станції, наприклад

Для налаштування кольору та шрифта темінальних вікон сервера, відредагуйте такий файл у домашньому кталозі:

nano ~/.Xresources

Вставте у нього такі рядки:

xterm*background: black
xterm*foreground: lightgray
xterm*faceName: monospace:pixelsize=14

Потім проіндексуйте конфігурацію:

xrdb ~/.Xresources

Розміщення лабораторних робіт

У своєму домашньому каталозі необхідно створити окремі каталоги для лабораторних робіт, наприклад lab1, lab2, lab3...

Кожна лабораторна робота має бути представлена окремим файлом, наприклад lab1.c

Щоб пепеписати у каталоги лабораторних робіт файли з вихідними даними, використовуйте програму wget, скопіювавши посилання на відповідний файл, наприклад

wget http://ee.kpi.ua/~yv/edu/amp/data/lab1/l1v01.txt

Для редагування файлів на сервері ви можете використовувати один з наявних текстових редакторів - vim, joe або nano

Документація з VIM Документація з JOE Документація з NANO

Для компіляції лабораторної роботи слід використовувати програму gcc

gcc -Wall -Werror -g -ggdb -o {файл-результат} {вихідний-файл}

наприклад

gcc -Wall -Werror -g -ggdb -o lab1 lab1.c

в результаті утвориться файл "lab1" що буде бінарним та придатним для запуску (як .exe у windows), його можна запустити

./lab1

за наявності у вихідному файлі помилок, компілятор повідомить про це у консолі, вказавши рядок, колонку та характер помилки

За готовності лабораторної роботи дло перевірки, слід повідомити про це викладача у Телеграм та узгодити час захисту в чаті.