В качестве упражнения я хотел бы написать эмулятор терминала для Linux с нуля, чтобы понять, какие движущиеся части в нем задействованы. Я предпочитаю язык D (потому что сейчас я его изучаю).
Очевидно, что это не должно быть что-то большое. Я бы хотел, чтобы у него было окно с цветом фона (и непрозрачностью позже), отображающее командную строку. Пользователь может ввести команду, и она выдаст результат. Основные вещи. Вот только я даже не знаю, с чего начать.
Я предполагаю, что визуальная часть должна обрабатываться чем-то вроде gtk (с которым я никогда не работал), но как насчет всего остального? Может кто-нибудь описать возможную архитектуру и на что мне смотреть?
Также было бы полезно знать, какие части имеет смысл писать с нуля (с учетом моего выбора языка), а какие части я могу использовать в качестве сторонних библиотек или двоичных файлов.
Я также понимаю, что могут существовать и другие вопросы, подобные этому, но я не смог найти качественных ответов. Если вы знаете такие ответы, пожалуйста, дайте ссылку на них.
D
. Затем вы можете решить, достаточно ли вы узнали, и вы можете найти более подходящие термины (терминология для особых случаев) для дальнейшего исследования. Удачи. - person shellter   schedule 28.07.2016/dev/ptmx
(возможно, используяposix_openpt()
), в результате чего ведомое устройство появляется на/dev/pts
. Затем эмулятор терминала обычно порождает оболочку с std{in,out,err}, подключенную к ведомому устройству. - person ninjalj   schedule 29.07.2016