首页 > 解决方案 > 在没有图形界面的Ubuntu下,我应该用什么命令来代替gnome-terminal

问题描述

我的操作系统是Ubuntu 18.4,当我尝试制作老师给出的代码时,我得到了这个:

root@ArcherJo:~/ucore_os_lab/labcodes_answer/lab1_result# make lab1-mon 
/bin/sh: 1: gnome-terminal: not found
Makefile:202: recipe for target 'lab1-mon' failed
make: *** [lab1-mon] Error 127

找到Makefile的对应行

201 lab1-mon: $(UCOREIMG)
202         $(V)$(TERMINAL) -e "$(QEMU) -S -s -d in_asm -D $(BINDIR)/q.log -monitor stdio -hda $< -serial null"
203         $(V)sleep 2
204         $(V)$(TERMINAL) -e "gdb -q -x tools/lab1init"
...
217 TERMINAL        :=gnome-terminal

然后我意识到这可能是因为我的系统没有图形界面,这意味着我不能用它gnome-terminal来打开一个新的终端。

那么我应该进行哪些改进才能获得类似的结果呢?

由于Makefile太长,让我概述一下背景。这是一个OS实验课程。我们使用 qemu 进行硬件模拟,然后在其上运行我们自己的操作系统。

这里还有一些我认为你可能需要它们的代码。

25 ifndef QEMU
26 QEMU := $(shell if which qemu-system-i386 > /dev/null; \
27         then echo 'qemu-system-i386'; exit; \
28         elif which i386-elf-qemu > /dev/null; \
29         then echo 'i386-elf-qemu'; exit; \
30         else \
31         echo "***" 1>&2; \
32         echo "*** Error: Couldn't find a working QEMU executable." 1>&2; \
33         echo "*** Is the directory containing the qemu binary in your PATH" 1>&2; \
34         echo "***" 1>&2; exit 1; fi)
35 endif
...
71 BINDIR  := bin
...
170 UCOREIMG        := $(call totarget,ucore.img)

标签: linuxqemu

解决方案


推荐阅读