Recommend using fbterm in the Linux console.
* doc/misc/efaq.texi (Emacs in a Linux console): New node. (Common requests): Entry for the new node. * etc/PROBLEMS (Linux console problems...): Mention the new FAQ node.
This commit is contained in:
parent
a5a92e577c
commit
2d9a391727
2 changed files with 92 additions and 0 deletions
|
@ -1603,6 +1603,7 @@ is better to write ``Emacs and XEmacs.''
|
|||
* Filling paragraphs with a single space::
|
||||
* Escape sequences in shell output::
|
||||
* Fullscreen mode on MS-Windows::
|
||||
* Emacs in a Linux console::
|
||||
@end menu
|
||||
|
||||
@node Setting up a customization file
|
||||
|
@ -3020,6 +3021,90 @@ To compute the correct values for width and height, first maximize the
|
|||
Emacs frame and then evaluate @code{(frame-height)} and
|
||||
@code{(frame-width)} with @kbd{M-:}.
|
||||
|
||||
@node Emacs in a Linux console
|
||||
@section How can I alleviate the limitations of the Linux console?
|
||||
@cindex Console, Linux console, TTY, fbterm
|
||||
|
||||
If possible, we recommend running Emacs inside @command{fbterm}, when
|
||||
in a Linux console. This brings the Linux console on par with most
|
||||
terminal emulators under X. To do this, install @command{fbterm}, for
|
||||
example with the package manager of your GNU/Linux distribution, and
|
||||
execute the command
|
||||
|
||||
@example
|
||||
$ fbterm
|
||||
@end example
|
||||
|
||||
This will create a sample configuration file @file{~/.fbtermrc} in
|
||||
your home directory. Edit that file and change the options
|
||||
@code{font-names} and @code{font-size} if necessary. For the former,
|
||||
you can choose one or more of the lines in the output of the following
|
||||
command, separated by commas:
|
||||
|
||||
@example
|
||||
$ fc-list :spacing=mono family | sed 's/ /\\ /g'
|
||||
@end example
|
||||
|
||||
You can now start Emacs inside @command{fbterm} with the command
|
||||
|
||||
@example
|
||||
$ fbterm -- emacs
|
||||
@end example
|
||||
|
||||
You may want to add an alias for that command in your shell
|
||||
configuration file. For example, if you use Bash, you can add the
|
||||
following line to your @file{~/.bashrc} file:
|
||||
|
||||
@example
|
||||
alias emacs="fbterm -- emacs"
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
or, if you use Emacs both in the Linux console and under X:
|
||||
|
||||
@example
|
||||
[[ "$(tty)" =~ "/dev/tty" ]] && alias emacs="fbterm -- emacs"
|
||||
@end example
|
||||
|
||||
The @command{fbterm} terminal emulator may define a number of key
|
||||
bindings for its own use, some of which conflict with those that Emacs
|
||||
uses. Execute the following two commands as root to ensure that
|
||||
@command{fbterm} does not define these key bindings:
|
||||
|
||||
@example
|
||||
# chmod a-s `which fbterm`
|
||||
# setcap cap_sys_tty_config=-ep `which fbterm`
|
||||
@end example
|
||||
|
||||
If you use Emacs as root, the above is not enough however, because the
|
||||
root user has all privileges. You can use the following command to
|
||||
start Emacs inside @command{fbterm} as root while ensuring that
|
||||
@command{fbterm} does not define any key bindings for its own use:
|
||||
|
||||
@example
|
||||
# capsh --drop=cap_sys_tty_config -- -c "fbterm -- emacs"
|
||||
@end example
|
||||
|
||||
Again you may want to add a shortcut for that command in the shell
|
||||
configuration file of the root user. In this case however, it is not
|
||||
possible to use an alias, because the command line arguments passed to
|
||||
Emacs need to be inserted in the string at the end of the command. A
|
||||
wrapper script or a function can be used to do that. For example, if
|
||||
you use Bash, you can add the following function in the root user
|
||||
@file{~/.bashrc} file:
|
||||
|
||||
@example
|
||||
function emacs ()
|
||||
@{
|
||||
CMD="fbterm -- emacs "
|
||||
for ARG in "$@@"
|
||||
do
|
||||
CMD="$CMD '$ARG' "
|
||||
done
|
||||
capsh --drop=cap_sys_tty_config -- -c "$CMD"
|
||||
@}
|
||||
@end example
|
||||
|
||||
@c ------------------------------------------------------------
|
||||
@node Bugs and problems
|
||||
@chapter Bugs and problems
|
||||
|
|
|
@ -2108,6 +2108,13 @@ term/xterm.el) for more details.
|
|||
|
||||
*** Linux console problems with double-width characters
|
||||
|
||||
If possible, we recommend running Emacs inside fbterm, when in a Linux
|
||||
console (see the node "Emacs in a Linux console" in the Emacs FAQ).
|
||||
Most Unicode characters should then be displayed correctly.
|
||||
|
||||
If that is not possible, the following may be useful to alleviate the
|
||||
problem of displaying Unicode characters in a raw console.
|
||||
|
||||
The Linux console declares UTF-8 encoding, but supports only a limited
|
||||
number of Unicode characters, and can cause Emacs produce corrupted or
|
||||
garbled display with some unusual characters and sequences. Emacs 28
|
||||
|
|
Loading…
Add table
Reference in a new issue