-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmain.tex
More file actions
205 lines (164 loc) · 11 KB
/
main.tex
File metadata and controls
205 lines (164 loc) · 11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
\documentclass[titlepage]{article}
\usepackage{graphicx} % Required for inserting images
\graphicspath{{img/}}
\usepackage[spanish]{babel}
\usepackage{float}
\title{LLL: Long Live Linux}
\author{David Elias González García, Cynthia Berenice Domínguez Reyes}
\date{April 2023}
\begin{document}
\maketitle
\tableofcontents
\pagebreak
\section{Introducción}
El proyecto consistirá en el desarrollo de un programa que simule una terminal de trabajo. Dicha terminal de trabajo deberá permitir a su usuario trabajar con archivos, hacer uso de comandos y permitir la consulta de información en el sistema, reproducir música y jugar algún juego programado por el mismo usuario. A continuación, se específica su contenido: \\
\begin{itemize}
\item Un sistema de acceso para los usuarios, al ejecutar el programa será el primer elemento para mostrarse en la pantalla, donde se requiera un usuario y contraseña para que el usuario pueda hacer uso de la terminal de trabajo. El usuario y contraseña debe de existir en el SO operativo anfitrión, de manera que un usuario que no tenga claves no podrá loguearse.
\item El usuario interactúa con el programa por medio de una línea de comandos. La línea de comandos puede mostrar la información que quieran y lucir como mejor les parezca, pero obligatoriamente debe mostrar:
\item El nombre de usuario activo
\item La carpeta donde se encuentran
\item Adicionalmente, esta terminal deberá ser capaz de interpretar correctamente los comandos programados por ustedes y también los disponibles en el SO anfitrión.
\item La única forma de salir de la terminal será con el comando “salir” (programado por ustedes). No será válido el comando Crtl + C o Crtl + Z y, de hecho, usted debe impedir que estos comandos fuercen el cierre de su programa.
\end{itemize}
Los comandos que ejecuta nuestra terminal son los siguientes:
\begin{itemize}
\item \textbf{lll}: Este comando inicia el proceso e inicia Long Live Linux.
\item \textbf{creditos}: Este comando muestra los creditos a los creadores de este proyecto.
\item \textbf{fechayhora}: Este comando imprime en pantalla la fecha y la hora del sistema.
\item \textbf{dirsrc}: Este comando busca un archivo en un directorio específicado.
\item \textbf{mishi}: Este comando imprime el juego de gato, con el cual puedes jugar.
\item \textbf{mp3}: Este comando despliega un reproductor mp3 especial.
\item \textbf{infosys}: Este comando permite mostrar la información del sistema.
\item \textbf{ayuda}: Este comando enlista y describe los comandos personalizados.
\item \textbf{bai}: Este comando termina el proceso de Long Live Linux.
\end{itemize}
\section{Desarrollo}
Para empezar a desarrolar comandos en la terminal, se necesita saber c\'omo hacer uno, qu\'e es una variable de entorno, qu\'e es una shell, c\'omo se puede hacer un bash script.\\
Una l\'inea de comandos es una SHELL, la cual, es un programa que toma comandos y los pasa al sistema operativo para procesarlos (interpreta los comandos y le dice al SO qu\'e hacer). Existen varias, como la Power Shell (de Windows), Bourne Shell, C Shell, y para nuestro caso, la que se utilizar\'a ser\'a Bash Shell (de Linux).\\
Para crear comandos, es necesario saber el concepto y para que nos van a servir las variables de entorno. Entonces, una variable de entorno es una variable global que se encuentra en el sistema operativo y puede ser utilizada por procesos en ejecución. Estas variables contienen información sobre el sistema operativo, el usuario actual, la sesión de inicio, la configuración de red, entre otros aspectos.\\
En sistemas Unix y Linux, las variables de entorno se definen como una cadena de texto que se asocia con un valor. Estas variables se utilizan comúnmente para definir parámetros de configuración en el sistema operativo o en aplicaciones específicas. Por ejemplo, la variable de entorno "PATH" se utiliza para especificar los directorios donde se encuentran los ejecutables del sistema, lo que permite que se puedan ejecutar desde cualquier directorio en la línea de comandos.\\
Las variables de entorno también pueden ser creadas o modificadas por el usuario, lo que puede ser útil para personalizar la configuración del sistema o para proporcionar información adicional a las aplicaciones en ejecución.\\
Con el contexto de que es y como se crea un Shell Scrip, comenzaremos con el desarrollo del proyecto:\\
Tenemos la terminal creada donde podemos ejecutar los comandos que creamos con el Shell Script:\\\\\\\\\\\\\\\\\\\\\\
\begin{figure}[h]
\centering
\includegraphics[width=1.0\textwidth]{TerminalInicio.png}
\caption{Inicio de la terminal \textbf{"LLL"}:}
\label{fig:ejemplo}
\end{figure}
Ya que estemos dentro, nos loggeamos con nustro usuario y contraseña para empezar a ejecutar los comandos:\\\\\\\\\\\\\\\\\\\\\\\\
El primer comando que podemos ejecutar es \textbf{ayuda}:
\begin{figure}[H]
\centering
\includegraphics[width=0.9\textwidth]{InfoComandos.png}
\caption{El primer comando que podemos ejecutar es \textbf{ayuda}:}
\label{fig:ejemplo}
\end{figure}
Este comando nos dirá los comandos creados y lo que hace cada uno.\\
El segundo comando es \textbf{"hora y fecha"}:
\begin{figure}[H]
\centering
\includegraphics[width=0.9\textwidth]{horayfecha.png}
\caption{\textbf{Hora y Fecha del Sistema}.}
\label{fig:ejemplo}
\end{figure}\\
Este comando nos mostrará la fecha y hora registrada en el sistema.
.\\\\\\
Ahora ejecutamos el tercer comando, el cual es \textbf{"dirsc"}:
\begin{figure}[H]
\centering
\includegraphics[width=0.9\textwidth]{BuscadorArchivos.png}
\caption{\textbf{Busqueda de un archivo en el directorio}}
\label{fig:ejemplo}
\end{figure}\\
El tercer comando es el \textbf{infosys}:
\begin{figure}[H]
\centering
\includegraphics[width=0.9\textwidth]{INFOSYS.png}
\caption{\textbf{Información reelevante del Sistema}}
\label{fig:ejemplo}
\end{figure}\\
Ejecutamos el cuarto comando, el cual es \textbf{"mishi"}, para iniciar el juego del \textbf{"Mr. Mishi"}, seguimos las instrucciones:
\begin{figure}[H]
\centering
\includegraphics[width=0.7\textwidth]{InicioMishiJuego.png}
\caption{Presentación del juego "Mr. Mishi"}
\label{fig:ejemplo}
\end{figure}\\
El mensaje cuando el jugador 1 "X" gana:
\begin{figure}[H]
\centering
\includegraphics[width=0.6\textwidth]{Jugador1GANADOR.png}
\caption{Presentación \textbf{Jugador1 "X"} gana}
\label{fig:ejemplo}
\end{figure}
El mensaje cuando el jugador 2 "0" gana:
\begin{figure}[H]
\centering
\includegraphics[width=0.6\textwidth]{judador2GANADOR.png}
\caption{Presentación \textbf{Jugador2 "O"} gana}
\label{fig:ejemplo}
\end{figure}
El mensaje cuando ningún jugador gana y sucede un empate:
\begin{figure}[H]
\centering
\includegraphics[width=0.6\textwidth]{JuegoEmpate.png}
\caption{Presentación ningún jugador gana}
\label{fig:ejemplo}
\end{figure}
Para poder acceder a nuestro quinto comando: MP3 \textbf{"LA ROCOLA SHIDA"} es necesario tener instalado el MPG123 en nuestra PC; si no esta instalado el sistema MPG123 tenemos la opción de instalarlo o no.
\begin{figure}[H]
\centering
\includegraphics[width=1.2\textwidth]{InstalacioMPG123.png}
\end{figure}
Si seleccionamos que no queremos instalar el MPG123 no nos dejara reproducir la musica y nos mostrará el siguiente mensaje:
\begin{figure}[H]
\centering
\includegraphics[width=1.2\textwidth]{CasoNegativoMPG123.png}
\end{figure}
Pero también podemos seleccionar la opción de si instalar el MPG123 para poder hacer la reproducción de las canciones, se nos mostrará lo siguiente:
\begin{figure}[H]
\centering
\includegraphics[width=1.2\textwidth]{CasoSIMPG123.png}
\end{figure}
.\\\\\\\\\\\\\\
Se nos manda el sig. mensaje cuando ya esta instalado el MPG123:
\begin{figure}[H]
\centering
\includegraphics[width=0.9\textwidth]{yainstaladoelMPG123.png}
\end{figure}
Ya con el MGP123 podemos ejecutar sin problema el comando MP3 para reproducir nuesta \textbf{Rocola SHIDA}
\begin{figure}[H]
\centering
\includegraphics[width=1.0\textwidth]{INICIODELAROCOLA.png}
\caption{Presentación de \textbf{La Rocola Shida}}
\end{figure}
.\\\\
Ahora si podemos seleccionar alguna de las opciones del menu, aquí como ejemplo mostramos la selección del punto 2).
\begin{figure}[H]
\centering
\includegraphics[width=1.0\textwidth]{SELECCION2DELMP3.png}
\caption{Menú de la Rocola Shida.}
\label{fig:ejemplo}
\end{figure}
El penúltimo comando creado es el de los creditos de los autores de nuestra terminal:
\begin{figure}[H]
\centering
\includegraphics[width=0.6\textwidth]{CREDITOS.png}
\end{figure}
.\\\\
Y por último ejecutamos el comando \textbf{salir} para despedirnos de nuestra terminal creada con mucho esfuerzo y dedicación :') :
\begin{figure}[H]
\centering
\includegraphics[width=0.9\textwidth]{SalidaTerminal.png}
\caption{Mensaje de Salida de la Terminal }
\label{fig:ejemplo}
\end{figure}
\pagebreak
\section{Conclusiones}
\textbf{Domínguez Reyes Cynthia Berenice}:\\
Con este proyecto pudimos poner en practica los conocimientos que adquirimos durante las clases del curso de Linux/GNU, al mismo tiempo que aprendimos cosas nuevas para poder realizar los comandos de nuestra terminal. Cumplimos con el objetivo del proyecto, el cual era poner en practica los conocimientos, así como realizar investigación, ponernos de acuerdo (junto con mi Buddie) la personalización de la termina, de los comandos, de las acciones que está realizara, para que tuviera un aspecto cool y diferente. Tuvimos contratiempos al momento de realizar el juego del gato y el mp3 ya que parecia haber quedado y después encontrabamos algunos errores. En lo personal recorde como se utilizaba Shell Script ya que en clases vimos muy poquito y lo había olvidado, pero con esto pude recordar como utilizarlo.
En conclusión realizar este proyecto de Linux me dejó muchos aprendizajes nuevos. \\\\
\textbf{García González David Elias}:\\
En este proyecto, aplicamos los conocimientos de comandos, de variables de entorno, operadores, y prácticamente, aprendimos y utilizamos mucho de SHELL SCRIPT, tomando una secuencia de comandos se hace un código, aunque forzosamente debe tener #!/bin/bash en la cabecera, para indicar que es un código de tipo bash. Se hizo la terminal con la posibilidad de que ejecutara cualquier comando , ya sea los nuestros personalizados o cualquiera ajeno a estos, inyectandolos en la carpeta /usr/local/bin para que se ejecuten desde cualquier terminal. El mayor reto en cuanto a los comandos fué el juego de "mishi" y el "mp3" , pero finalmente en algunas cosas tenían errores de escritura. En general, la terminal de Linux es muy útil para trabajar, y es efectivo hacer comandos personalizados para cualquier cosa que deseamos automatizar, ya sean procesos simples, o procesos complejos mediante módulos o varios scripts. En definitiva, es una gran opción Shell script para ahorrar tiempo.
\end{document}