github.com/lmorg/murex@v0.0.0-20240217211045-e081c89cd4ef/docs/supported-platforms.md (about) 1 <h1>Supported Operating Systems</h1> 2 3 The following is a list of platforms Murex has been tested on and the 4 level of support it has: 5 6 <h2>Table of Contents</h2> 7 8 <div id="toc"> 9 10 - [macOS (Darwin)](#macos-darwin) 11 - [Windows](#windows) 12 - [FreeBSD](#freebsd) 13 - [OpenBSD](#openbsd) 14 - [NetBSD](#netbsd) 15 - [DragonflyBSD](#dragonflybsd) 16 - [Plan 9](#plan-9) 17 - [Other CPU architectures](#other-cpu-architectures) 18 19 </div> 20 21 ## Linux 22 23 The shell has been extensively tested across a number of distributions. There 24 are no known distribution specific issues. 25 26 ## macOS (Darwin) 27 28 All features work aside alt-hotkeys. 29 30 Both x86 (Intel) and AMD (M2 etc) architectures are supported. 31 32 ## Windows 33 34 Windows is supported there are a few known issue with the way how Windows 35 internals are built. These cannot be easily worked around: 36 37 * Windows doesn't decouple the terminal emulator and the shell Which means you 38 cannot rely upon STDIN working as expected (eg some commands don't read input 39 from STDIN but instead poll the terminal emulator directly) 40 41 * Windows sends parameters as a single string rather than an array of string. 42 This is to retain backwards compatibility with DOS but it breaks the way how 43 quotation marks and escaping works. Murex will compile an array of 44 parameters based on the quotation strings (there are 3 different types of 45 quotations in Murex), infixed variables, subshells, etc. These would not be 46 honoured by any Windows commands because every Windows application then has 47 to handle how the one long string of parameters is chopped up into different 48 arguments; how quotation marks are handles, spaces, escaping, etc. This means 49 there is no standard so one command might handle spaces correctly but another 50 wouldn't. 51 52 * Job control (`bg`, `^z`, `fg`, etc) isn't supported because Windows doesn't 53 have an equivalent of the SIGSTSP (etc) POSIX signals. 54 55 * There is also the caveat that without a broad range of command line utilities 56 (eg GNU coreutils) the usefulness of Murex is seriously diminished. You can 57 mitigate this by installing [MSYS2](https://www.msys2.org/) or [Cygwin](https://cygwin.com/). 58 59 ## FreeBSD 60 61 FreeBSD is officially supported and tested by the community. 62 63 ## OpenBSD 64 65 FreeBSD is officially supported and tested by the community. 66 67 ## NetBSD 68 69 FreeBSD is officially supported and tested by the community. 70 71 ## DragonflyBSD 72 73 FreeBSD is officially supported and tested by the community. 74 75 ## Plan 9 76 77 Plan 9 is included as part of the automated built tests however no functional 78 tests have been run. 79 80 If you do happen to run into any such bugs then I do welcome pull requests. 81 82 Feature wise, job control isn't supported in Plan 9 because Plan 9 doesn't 83 support all of the required signals. All other functions are expected to work. 84 85 ## Other CPU architectures 86 87 Several CPU architectures are supported: 88 89 * 386 (x86 32bit) 90 * AMD64 (x86 64bit) 91 * ARMv7 (32bit) 92 * ARMv8 (64bit) 93 94 ## See Also 95 96 * [Download](/DOWNLOAD.md): 97 Murex download links 98 * [Install](/INSTALL.md): 99 Installation instructions 100 101 <hr/> 102 103 This document was generated from [gen/root/supported-platforms_doc.yaml](https://github.com/lmorg/murex/blob/master/gen/root/supported-platforms_doc.yaml).