\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{geometry}
\geometry{top=15mm, bottom=15mm, left=1cm, right=1cm}
\usepackage[french]{babel}
\usepackage{pslatex}
\usepackage[colorlinks=true,urlcolor=black]{hyperref}
\usepackage{graphicx}
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\footrulewidth}{0.4pt}
\fancyfoot[L]{Uubu.fr}
\fancyfoot[R]{mer. févr. 3 22:13:52 CET 2016}
\lfoot{\Large \textit{Uubu.fr}}
\hypersetup{pdfinfo={
Title={resizecons},
Author={Sylvain Girod},
Creator={Bash script from uubu.fr's format version 1},
Producer={Bash script and PDFLaTeX},
Subject={Change l'idée kernel de la taille de la console},
CreationDate={D:20160203221352},
ModDate={D:20160203221352},
Keywords={Linux}
}}
\begin{document}
 
\begin{center}
{\Huge resizecons }
\end{center}
\vspace{1cm}
 
\begin{flushleft}
 
{\large Change l'idée kernel de la taille de la console}
 
\vspace{10mm}
 
\hspace{1mm}  La commande resizecons tente de changer le mode vidée de la console. Il y a différents aspects à cela: le kernel, le matériel doit le savoir et les programmes utilisateurs doivent le savoir, et la police de la console peut nécessiter une adaptation.
\vspace{5mm} \\
 
 
\hspace{1mm}  Le kernel parle des changement en utilisant l'ioctl VT\_RESIZE. Cela permet au kernel de ré-allouer la mémoire écran de la console pour toutes les consoles virtuelles, et peut échouer s'il n'a pas suffisamment de mémoire. Dans ce cas, il tente de dé-allouer certaines consoles virtuelle en premier. Si cet ioctl réussit, mais une dernière étape ( par ex. vous n'avez pas les permissions), vous pouvez vous retrouver avec un écran désordonné.
\vspace{5mm} \\
 
 
\hspace{1mm}  La partie la plus difficile côté matériel, vu qu'il nécessite une connaissance détaillée du matériel vidéo, et des nombreux registres. Seul le changement de lignes est assez facile, et resizecons tente de le faire lui-même avec l'option -lines. La commande \textbf{resizecons COLSxROWS} va exécuter \textbf{restoretextmode -r COLSxROWS} ( et donc nécessite d'avoir svgalib d'installé). Ici, COLSxROWS est un fichier qui a été cré par \textbf{restoretextmode -w COLSxROWS}. Les permissions root sont requises, ou \textbf{restoretextmode} doit avoir le setuid root.
\vspace{5mm} \\
 
 
\hspace{1mm}  Pour les programmes utilisateurs, resizecons fait un 'stty rows ROWS cols COLS' pour chaque console active ( entre tty0 et tty15), et envoie un SIGWINCH à selection s'il le trouve dans /tmp/selection.pid.
\vspace{5mm} \\
 
 
\hspace{1mm}  Enfin, il traite les fonts en exécutant setfont. Généralement, la mauvaise font est chargée, et il est nécessaire de choisir une autre font avec setfont par vous-même.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Bugs }
 
\
 
\hspace{1mm}  resizecons ne fontionne pas avec tous les hardwares. Par exemple, il ne peut pas être utilisé sur les plateformes autre que x86 et x86\_64. Voir fbset comme alternative.
\vspace{5mm} \\
 
\end{flushleft}
\end{document}
