作爲一個練習,我想從頭開始編寫一個Linux終端模擬器,以便了解涉及哪些運動部件。我選擇的語言是D(因爲我目前正在學習它)。如何從頭開始編寫終端仿真程序(或不是從頭開始)?
它顯然不具備成爲一件大事。我希望它有一個背景顏色的窗口(以及不透明度,稍後)顯示命令promt。用戶可以輸入一個命令並輸出結果。基本的東西。除了我甚至不知道從哪裏開始。
我想視覺應該由像GTK(我從來沒有工作過)來處理,但對於一切?有人可以描述一個可能的架構,我應該看什麼?
這也將是有益的知道它使這部分感覺從頭開始編寫(給我選擇的語言)和哪些部分,我可以作爲第三方庫或二進制文件的使用。
我也意識到可能存在這樣一個別的問題,但是我無法找到質量答案。如果你知道這樣的答案,請鏈接到他們。
爲什麼不將您最喜愛的開源終端從當前語言「翻譯」爲「D」。然後你可以決定你是否學到了足夠的知識,並且可以找到更好的術語(特殊術語)來進一步研究。祝你好運。 – shellter
我不認爲這個問題適合堆棧溢出,因爲它不是很具體。我猜你可以做的最好的事情是查看其他終端仿真程序(也可能不用D編寫),並移植一些代碼或查看它們。但我不認爲你應該做什麼是一個普遍的答案,因爲它是你的項目,你將決定你將添加什麼,你不會添加什麼。但是,如果你想看看用D編寫的終端仿真器,那麼在github上有一個:https://github.com/gnunn1/terminix – WebFreak001
我懷疑你可能會把終端仿真器與shell混淆。終端仿真器只是模擬一個I/O設備,它不運行命令或知道任何關於提示的信息。在Linux上,終端仿真器通過打開多路複用器設備'/ dev/ptmx'(可能使用'posix_openpt()')來分配僞終端,這會導致從設備出現在'/ dev/pts'處。然後,終端仿真器通常會生成一個std {in,out,err}連接到從設備的shell。 – ninjalj