diff --git a/main/term.c b/main/term.c
index d051338d873a8c371eb1c981ef41dcd61514e97b..cb05a8f0f521b918c44cc901d94924832ec77f01 100644
--- a/main/term.c
+++ b/main/term.c
@@ -80,8 +80,16 @@ int ast_term_init(void)
 	int termfd = -1, parseokay = 0, i;
 
 	if (!term)
+#ifdef linux
+		term = "linux";
+#elif defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__)
+		term = "cons25";
+#elif defined(SOLARIS)
+		term = "sun-color";
+#else
 		return 0;
-	if (!ast_opt_console || ast_opt_no_color || !ast_opt_no_fork)
+#endif
+	if (ast_opt_no_color)
 		return 0;
 
 	for (i=0 ;; i++) {