Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Linux上的C#控制台应用程序中隐藏光标?_C#_Linux_Console_Mono_Cursor - Fatal编程技术网

如何在Linux上的C#控制台应用程序中隐藏光标?

如何在Linux上的C#控制台应用程序中隐藏光标?,c#,linux,console,mono,cursor,C#,Linux,Console,Mono,Cursor,我正在编写一个C#应用程序,该应用程序在Linux上使用Mono运行,我想隐藏控制台光标。但是,由于这个Console.CursorVisible=false似乎什么都不做,有没有其他方法可以做到这一点,例如控制台命令或本机函数?这在很大程度上取决于您使用的终端/外壳类型,但在OS-X iTerm或terminal bash上,我是这样做的: public static void Main(string[] args) { Process.Start("tput", "civis --

我正在编写一个C#应用程序,该应用程序在Linux上使用Mono运行,我想隐藏控制台光标。但是,由于这个
Console.CursorVisible=false
似乎什么都不做,有没有其他方法可以做到这一点,例如控制台命令或本机函数?

这在很大程度上取决于您使用的终端/外壳类型,但在OS-X iTerm或terminal bash上,我是这样做的:

public static void Main(string[] args)
{
    Process.Start("tput", "civis -- invisible");
    Console.WriteLine("Hello World!");
    Console.Read(); // no cursor
    Process.Start("tput", "cnorm -- normal");
    Console.Read(); // with cursor
}

这在Linux/bash和其他可能使用
terminfo
数据库的情况下应该可以正常工作,如果没有,我会检查terminfo数据库中缺少的元素。

这在很大程度上取决于您使用的终端/外壳类型,但在OS-X iTerm或terminal bash上,我是这样做的:

public static void Main(string[] args)
{
    Process.Start("tput", "civis -- invisible");
    Console.WriteLine("Hello World!");
    Console.Read(); // no cursor
    Process.Start("tput", "cnorm -- normal");
    Console.Read(); // with cursor
}

这在Linux/bash和其他可能使用
terminfo
数据库的情况下应该可以正常工作,如果没有,我会检查terminfo数据库中缺少的元素。

如果它不工作,是时候向Mono项目提交一个bug了。这在窗户上效果很好;它调用本机的
setConsoleUrsOrInfo
函数。如果它不起作用,是时候向Mono项目提交一个bug了。这在窗户上效果很好;它调用本机
setConsoleUrsOrInfo
函数。