linux - 在没有图形界面的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)
解决方案
推荐阅读
- tcl - 如何在 Tcl 中创建列表数组?
- php - Laravel 中使用 put 文件方法的 504 错误
- python - Python 是否对列表的元素进行实习?
- enums - Rust 中的静态枚举
- php - 在php中创建pdf文件然后合并第二个文件
- python-3.x - /Mobile Documents/ 停止“python3 setup.py install”正常工作
- python - 如何在 Python 中进行插值?
- javascript - React 应用程序中的 Web 组件
- oracle - SQL*Plus 中带有多个参数的假脱机输出
- react-native - Fastlane- ld:找不到 -lPods-OneSignalNotificationServiceExtension 的库