ನಮ್ಮ ಭಾಷಾಂತರ ಬ್ಯೂರೋದಿಂದ ಕೆಲವು ಪದಗಳು: ಸಾಮಾನ್ಯವಾಗಿ ಪ್ರತಿಯೊಬ್ಬರೂ ಇತ್ತೀಚಿನ ಸಾಮಗ್ರಿಗಳು ಮತ್ತು ಪ್ರಕಟಣೆಗಳನ್ನು ಭಾಷಾಂತರಿಸಲು ಶ್ರಮಿಸುತ್ತಾರೆ ಮತ್ತು ನಾವು ಇದಕ್ಕೆ ಹೊರತಾಗಿಲ್ಲ. ಆದರೆ ಟರ್ಮಿನಲ್ಗಳು ವಾರಕ್ಕೊಮ್ಮೆ ಅಪ್ಡೇಟ್ ಆಗುವಂಥದ್ದಲ್ಲ. ಆದ್ದರಿಂದ, 2018 ರ ವಸಂತಕಾಲದಲ್ಲಿ ಪ್ರಕಟವಾದ ಆಂಟೊಯಿನ್ ಬ್ಯೂಪ್ರೆ ಅವರ ಲೇಖನವನ್ನು ನಾವು ನಿಮಗಾಗಿ ಅನುವಾದಿಸಿದ್ದೇವೆ: ಆಧುನಿಕ ಮಾನದಂಡಗಳ ಪ್ರಕಾರ ಅದರ ಗಣನೀಯ "ವಯಸ್ಸು" ಹೊರತಾಗಿಯೂ, ನಮ್ಮ ಅಭಿಪ್ರಾಯದಲ್ಲಿ, ವಸ್ತುವು ಅದರ ಪ್ರಸ್ತುತತೆಯನ್ನು ಕಳೆದುಕೊಂಡಿಲ್ಲ. ಹೆಚ್ಚುವರಿಯಾಗಿ, ಇದು ಮೂಲತಃ ಎರಡು ಲೇಖನಗಳ ಸರಣಿಯಾಗಿತ್ತು, ಆದರೆ ನಾವು ಅವುಗಳನ್ನು ಒಂದು ದೊಡ್ಡ ಪೋಸ್ಟ್ ಆಗಿ ಸಂಯೋಜಿಸಲು ನಿರ್ಧರಿಸಿದ್ದೇವೆ.
ಕಂಪ್ಯೂಟರ್ ಇತಿಹಾಸದಲ್ಲಿ ಟರ್ಮಿನಲ್ಗಳಿಗೆ ವಿಶೇಷ ಸ್ಥಾನವಿದೆ, ಆದರೆ ಇತ್ತೀಚಿನ ದಶಕಗಳಲ್ಲಿ ಚಿತ್ರಾತ್ಮಕ ಇಂಟರ್ಫೇಸ್ಗಳು ಸರ್ವವ್ಯಾಪಿಯಾಗಿದ್ದರಿಂದ ಆಜ್ಞಾ ಸಾಲಿನ ಜೊತೆಗೆ ಬದುಕಲು ಬಲವಂತಪಡಿಸಲಾಗಿದೆ.
ಕೆಲವು ಟರ್ಮಿನಲ್ಗಳು ಸರಳವಾದ ಆಶ್ಚರ್ಯಕರ ಭದ್ರತಾ ರಂಧ್ರಗಳನ್ನು ಹೊಂದಿವೆ, ಜೊತೆಗೆ ಹೆಚ್ಚಿನವುಗಳು ಟ್ಯಾಬ್ಡ್ ಇಂಟರ್ಫೇಸ್ಗೆ ಬೆಂಬಲದಿಂದ ಸ್ಕ್ರಿಪ್ಟಿಂಗ್ವರೆಗೆ ಸಂಪೂರ್ಣವಾಗಿ ವಿಭಿನ್ನವಾದ ಕಾರ್ಯಗಳನ್ನು ಹೊಂದಿವೆ. ಆದರೂ ನಾವು
ನಾನು ಪರಿಶೀಲಿಸಿದ ಟರ್ಮಿನಲ್ಗಳು ಇಲ್ಲಿವೆ:
ಇವುಗಳು ಇತ್ತೀಚಿನ ಆವೃತ್ತಿಗಳಾಗಿರದೇ ಇರಬಹುದು, ಏಕೆಂದರೆ ಬರೆಯುವ ಸಮಯದಲ್ಲಿ ನಾನು ಸ್ಥಿರವಾದ ನಿರ್ಮಾಣಗಳಿಗೆ ಸೀಮಿತವಾಗಿದ್ದೇನೆ, ಅದನ್ನು ನಾನು ಡೆಬಿಯನ್ 9 ಅಥವಾ ಫೆಡೋರಾ 27 ನಲ್ಲಿ ಹೊರತರಲು ಸಾಧ್ಯವಾಯಿತು. ಇದಕ್ಕೆ ಹೊರತಾಗಿರುವುದು ಅಲಾಕ್ರಿಟ್ಟಿ. ಇದು GPU-ವೇಗವರ್ಧಿತ ಟರ್ಮಿನಲ್ಗಳ ವಂಶಸ್ಥರು ಮತ್ತು ಈ ಕಾರ್ಯಕ್ಕಾಗಿ ಅಸಾಮಾನ್ಯ ಮತ್ತು ಹೊಸ ಭಾಷೆಯಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ - ರಸ್ಟ್. ನನ್ನ ವಿಮರ್ಶೆಯಿಂದ ನಾನು ವೆಬ್ ಟರ್ಮಿನಲ್ಗಳನ್ನು ಹೊರಗಿಟ್ಟಿದ್ದೇನೆ (ಅವುಗಳನ್ನು ಒಳಗೊಂಡಂತೆ
ಯುನಿಕೋಡ್ ಬೆಂಬಲ
ನಾನು ಯುನಿಕೋಡ್ ಬೆಂಬಲದೊಂದಿಗೆ ನನ್ನ ಪರೀಕ್ಷೆಗಳನ್ನು ಪ್ರಾರಂಭಿಸಿದೆ. ಟರ್ಮಿನಲ್ಗಳ ಮೊದಲ ಪರೀಕ್ಷೆಯು ಯುನಿಕೋಡ್ ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಪ್ರದರ್ಶಿಸುವುದಾಗಿತ್ತು
ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, xterm ಕ್ಲಾಸಿಕ್ "ಸ್ಥಿರ" ಫಾಂಟ್ ಅನ್ನು ಬಳಸುತ್ತದೆ, ಅದರ ಪ್ರಕಾರ
ಈ ಸ್ಕ್ರೀನ್ಶಾಟ್ಗಳನ್ನು ಫೆಡೋರಾ 27 ರಲ್ಲಿ ತೆಗೆದುಕೊಳ್ಳಲಾಗಿದೆ, ಏಕೆಂದರೆ ಇದು ಡೆಬಿಯನ್ 9 ಗಿಂತ ಉತ್ತಮ ಫಲಿತಾಂಶಗಳನ್ನು ನೀಡಿತು, ಅಲ್ಲಿ ಕೆಲವು ಹಳೆಯ ಆವೃತ್ತಿಯ ಟರ್ಮಿನಲ್ಗಳು (ನಿರ್ದಿಷ್ಟವಾಗಿ mlterm) ಫಾಂಟ್ಗಳನ್ನು ಸರಿಯಾಗಿ ನಿಭಾಯಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ. ಅದೃಷ್ಟವಶಾತ್ ಇದನ್ನು ನಂತರದ ಆವೃತ್ತಿಗಳಲ್ಲಿ ಸರಿಪಡಿಸಲಾಗಿದೆ.
ಈಗ xterm ನಲ್ಲಿ ಲೈನ್ ಅನ್ನು ಹೇಗೆ ಪ್ರದರ್ಶಿಸಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ಗಮನಿಸಿ. ಮೆಮ್ ಚಿಹ್ನೆ ಮತ್ತು ಕೆಳಗಿನ ಸೆಮಿಟಿಕ್ ಎಂದು ಅದು ತಿರುಗುತ್ತದೆ
"ಹಲವು ಕಂಪ್ಯೂಟರ್ ಪ್ರೋಗ್ರಾಂಗಳು ದ್ವಿಮುಖ ಪಠ್ಯವನ್ನು ಸರಿಯಾಗಿ ಪ್ರದರ್ಶಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ಉದಾಹರಣೆಗೆ, "ಸಾರಾ" ಎಂಬ ಹೀಬ್ರೂ ಹೆಸರು ಪಾಪ (ש) (ಬಲಭಾಗದಲ್ಲಿ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ), ನಂತರ resh (ר) ಮತ್ತು ಅಂತಿಮವಾಗಿ ಅವನು (ה) (ಎಡಭಾಗದಲ್ಲಿ ಕಾಣಿಸಿಕೊಳ್ಳಬೇಕು)"
ಅನೇಕ ಟರ್ಮಿನಲ್ಗಳು ಈ ಪರೀಕ್ಷೆಯಲ್ಲಿ ವಿಫಲವಾಗಿವೆ: ಅಲಾಕ್ರಿಟ್ಟಿ, VTE- ಪಡೆದ ಗ್ನೋಮ್ ಮತ್ತು XFCE ಟರ್ಮಿನಲ್ಗಳು, urxvt, st ಮತ್ತು xterm ಡಿಸ್ಪ್ಲೇ "ಸಾರಾ" ಹಿಮ್ಮುಖ ಕ್ರಮದಲ್ಲಿ, ನಾವು ಹೆಸರನ್ನು "Aras" ಎಂದು ಬರೆದಂತೆ.
ಬೈಡೈರೆಕ್ಷನಲ್ ಪಠ್ಯಗಳೊಂದಿಗಿನ ಮತ್ತೊಂದು ಸಮಸ್ಯೆ ಏನೆಂದರೆ, ಅವುಗಳನ್ನು ಹೇಗಾದರೂ ಜೋಡಿಸಬೇಕಾಗಿದೆ, ವಿಶೇಷವಾಗಿ RTL ಮತ್ತು LTR ಪಠ್ಯಗಳನ್ನು ಮಿಶ್ರಣ ಮಾಡಲು ಬಂದಾಗ. RTL ಸ್ಕ್ರಿಪ್ಟ್ಗಳು ಟರ್ಮಿನಲ್ ವಿಂಡೋದ ಬಲಭಾಗದಿಂದ ರನ್ ಆಗಬೇಕು, ಆದರೆ LTR ಇಂಗ್ಲಿಷ್ಗೆ ಡಿಫಾಲ್ಟ್ ಆಗಿರುವ ಟರ್ಮಿನಲ್ಗಳಿಗೆ ಏನಾಗಬೇಕು? ಅವುಗಳಲ್ಲಿ ಹೆಚ್ಚಿನವು ಯಾವುದೇ ವಿಶೇಷ ಕಾರ್ಯವಿಧಾನಗಳನ್ನು ಹೊಂದಿಲ್ಲ ಮತ್ತು ಎಲ್ಲಾ ಪಠ್ಯವನ್ನು ಎಡಕ್ಕೆ ಜೋಡಿಸುತ್ತವೆ (ಕಾನ್ಸೋಲ್ ಸೇರಿದಂತೆ). ವಿನಾಯಿತಿಗಳು pterm ಮತ್ತು mlterm, ಇದು ಮಾನದಂಡಗಳಿಗೆ ಬದ್ಧವಾಗಿದೆ ಮತ್ತು ಅಂತಹ ಸಾಲುಗಳನ್ನು ಬಲಕ್ಕೆ ಜೋಡಿಸುತ್ತದೆ.
ಅಳವಡಿಕೆ ರಕ್ಷಣೆ
ನಾನು ಗುರುತಿಸಿರುವ ಮುಂದಿನ ನಿರ್ಣಾಯಕ ವೈಶಿಷ್ಟ್ಯವೆಂದರೆ ವಿರೋಧಿ ಅಳವಡಿಕೆ ರಕ್ಷಣೆ. ಈ ರೀತಿಯ ಮಂತ್ರಗಳು ವ್ಯಾಪಕವಾಗಿ ತಿಳಿದಿದ್ದರೂ:
$ curl http://example.com/ | sh
ಕೋಡ್ ಎಕ್ಸಿಕ್ಯೂಶನ್ ಪುಶ್ ಕಮಾಂಡ್ಗಳಾಗಿವೆ, ಎಚ್ಚರಿಕೆಯ ಪರಿಶೀಲನೆಯ ನಂತರವೂ ವೆಬ್ ಬ್ರೌಸರ್ನಿಂದ ನಕಲಿಸುವಾಗ ಮತ್ತು ಅಂಟಿಸುವಾಗ ಗುಪ್ತ ಆಜ್ಞೆಗಳು ಕನ್ಸೋಲ್ಗೆ ನುಸುಳಬಹುದು ಎಂದು ಕೆಲವರಿಗೆ ತಿಳಿದಿದೆ.
git clone git: //git.kernel.org/pub/scm/utils/kup/kup.git
ಹಾರ್ನ್ನ ವೆಬ್ಸೈಟ್ನಿಂದ ಟರ್ಮಿನಲ್ಗೆ ಅಂಟಿಸಿದಾಗ ಅಂತಹ ಉಪದ್ರವಕ್ಕೆ ತಿರುಗುತ್ತದೆ:
git clone /dev/null;
clear;
echo -n "Hello ";
whoami|tr -d 'n';
echo -e '!nThat was a bad idea. Don'"'"'t copy code from websites you don'"'"'t trust!
Here'"'"'s the first line of your /etc/passwd: ';
head -n1 /etc/passwd
git clone git://git.kernel.org/pub/scm/utils/kup/kup.git
ಇದು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ? ದುರುದ್ದೇಶಪೂರಿತ ಕೋಡ್ ಅನ್ನು ಬ್ಲಾಕ್ನಲ್ಲಿ ಸೇರಿಸಲಾಗಿದೆ , ಇದು CSS ಅನ್ನು ಬಳಸಿಕೊಂಡು ಬಳಕೆದಾರರ ವೀಕ್ಷಣೆಯಿಂದ ಹೊರಕ್ಕೆ ಸರಿಸಲಾಗಿದೆ.
set enable-bracketed-paste on
ದುರದೃಷ್ಟವಶಾತ್, ಹಾರ್ನ್ನ ಪರೀಕ್ಷಾ ಸೈಟ್ ಪಠ್ಯ ಫಾರ್ಮ್ಯಾಟಿಂಗ್ ಮೂಲಕ ಈ ರಕ್ಷಣೆಯನ್ನು ಹೇಗೆ ಬೈಪಾಸ್ ಮಾಡುವುದು ಎಂಬುದನ್ನು ತೋರಿಸುತ್ತದೆ ಮತ್ತು ಅಕಾಲಿಕವಾಗಿ ಬ್ರಾಕೆಟ್ ಮೋಡ್ ಅನ್ನು ಅನ್ವಯಿಸುತ್ತದೆ. ಕೆಲವು ಟರ್ಮಿನಲ್ಗಳು ತಮ್ಮದೇ ಆದದನ್ನು ಸೇರಿಸುವ ಮೊದಲು ಎಸ್ಕೇಪ್ ಸೀಕ್ವೆನ್ಸ್ಗಳನ್ನು ಸರಿಯಾಗಿ ಫಿಲ್ಟರ್ ಮಾಡದ ಕಾರಣ ಇದು ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ನನ್ನಲ್ಲಿ ಸರಿಯಾದ ಕಾನ್ಫಿಗರೇಶನ್ನೊಂದಿಗೆ ಕನ್ಸೋಲ್ ಪರೀಕ್ಷೆಗಳನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಪೂರ್ಣಗೊಳಿಸಲು ನನಗೆ ಸಾಧ್ಯವಾಗಲಿಲ್ಲ .inputrc ಕಡತ. ಇದರರ್ಥ ನೀವು ಬೆಂಬಲಿಸದ ಅಪ್ಲಿಕೇಶನ್ ಅಥವಾ ತಪ್ಪಾಗಿ ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾದ ಶೆಲ್ನಿಂದಾಗಿ ನಿಮ್ಮ ಸಿಸ್ಟಮ್ ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ಸುಲಭವಾಗಿ ದೋಷಪೂರಿತಗೊಳಿಸಬಹುದು. ರಿಮೋಟ್ ಸರ್ವರ್ಗಳಿಗೆ ಲಾಗ್ ಇನ್ ಮಾಡುವಾಗ ಇದು ವಿಶೇಷವಾಗಿ ಅಪಾಯಕಾರಿಯಾಗಿದೆ, ಅಲ್ಲಿ ಎಚ್ಚರಿಕೆಯ ಕಾನ್ಫಿಗರೇಶನ್ ಕೆಲಸವು ಕಡಿಮೆ ಸಾಮಾನ್ಯವಾಗಿದೆ, ವಿಶೇಷವಾಗಿ ನೀವು ಅಂತಹ ಅನೇಕ ದೂರಸ್ಥ ಯಂತ್ರಗಳನ್ನು ಹೊಂದಿದ್ದರೆ.
ಈ ಸಮಸ್ಯೆಗೆ ಉತ್ತಮ ಪರಿಹಾರವೆಂದರೆ ಟರ್ಮಿನಲ್ಗಾಗಿ ಪೇಸ್ಟ್ ದೃಢೀಕರಣ ಪ್ಲಗಿನ್ urxvt, ಇದು ಹೊಸ ಸಾಲುಗಳನ್ನು ಹೊಂದಿರುವ ಯಾವುದೇ ಪಠ್ಯವನ್ನು ಸೇರಿಸಲು ಅನುಮತಿಯನ್ನು ಕೇಳುತ್ತದೆ. ಹಾರ್ನ್ ವಿವರಿಸಿದ ಪಠ್ಯ ದಾಳಿಗೆ ಹೆಚ್ಚು ಸುರಕ್ಷಿತ ಆಯ್ಕೆಯನ್ನು ನಾನು ಕಂಡುಕೊಂಡಿಲ್ಲ.
ಟ್ಯಾಬ್ಗಳು ಮತ್ತು ಪ್ರೊಫೈಲ್ಗಳು
ಇದೀಗ ಜನಪ್ರಿಯ ವೈಶಿಷ್ಟ್ಯವೆಂದರೆ ಟ್ಯಾಬ್ಡ್ ಇಂಟರ್ಫೇಸ್ಗೆ ಬೆಂಬಲವಾಗಿದೆ, ಇದನ್ನು ನಾವು ಹಲವಾರು ಇತರ ಟರ್ಮಿನಲ್ಗಳನ್ನು ಹೊಂದಿರುವ ಒಂದು ಟರ್ಮಿನಲ್ ವಿಂಡೋ ಎಂದು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತೇವೆ. ಈ ಕಾರ್ಯವು ವಿಭಿನ್ನ ಟರ್ಮಿನಲ್ಗಳಿಗೆ ಭಿನ್ನವಾಗಿರುತ್ತದೆ ಮತ್ತು ಸಾಂಪ್ರದಾಯಿಕ xterm ಟರ್ಮಿನಲ್ಗಳು ಟ್ಯಾಬ್ಗಳನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲವಾದರೂ, Xfce ಟರ್ಮಿನಲ್, GNOME ಟರ್ಮಿನಲ್ ಮತ್ತು Konsole ನಂತಹ ಹೆಚ್ಚು ಆಧುನಿಕ ಟರ್ಮಿನಲ್ ಅವತಾರಗಳು ಈ ಕಾರ್ಯವನ್ನು ಹೊಂದಿವೆ. Urxvt ಸಹ ಟ್ಯಾಬ್ಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ, ಆದರೆ ನೀವು ಪ್ಲಗಿನ್ ಅನ್ನು ಬಳಸಿದರೆ ಮಾತ್ರ. ಆದರೆ ಟ್ಯಾಬ್ ಬೆಂಬಲದ ವಿಷಯದಲ್ಲಿ, ಟರ್ಮಿನೇಟರ್ ನಿರ್ವಿವಾದದ ನಾಯಕ: ಇದು ಕೇವಲ ಟ್ಯಾಬ್ಗಳನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ, ಆದರೆ ಯಾವುದೇ ಕ್ರಮದಲ್ಲಿ ಟರ್ಮಿನಲ್ಗಳನ್ನು ವ್ಯವಸ್ಥೆಗೊಳಿಸಬಹುದು (ಕೆಳಗಿನ ಚಿತ್ರವನ್ನು ನೋಡಿ).
ಟರ್ಮಿನೇಟರ್ನ ಇನ್ನೊಂದು ವೈಶಿಷ್ಟ್ಯವೆಂದರೆ ಈ ಟ್ಯಾಬ್ಗಳನ್ನು ಒಟ್ಟಿಗೆ "ಗುಂಪು" ಮಾಡುವ ಸಾಮರ್ಥ್ಯ ಮತ್ತು ಒಂದೇ ಸಮಯದಲ್ಲಿ ಅನೇಕ ಟರ್ಮಿನಲ್ಗಳಿಗೆ ಒಂದೇ ಕೀಸ್ಟ್ರೋಕ್ಗಳನ್ನು ಕಳುಹಿಸುವ ಸಾಮರ್ಥ್ಯ, ಏಕಕಾಲದಲ್ಲಿ ಬಹು ಸರ್ವರ್ಗಳಲ್ಲಿ ಬೃಹತ್ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಕಚ್ಚಾ ಸಾಧನವನ್ನು ಒದಗಿಸುತ್ತದೆ. ಇದೇ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಕನ್ಸೋಲ್ನಲ್ಲಿಯೂ ಅಳವಡಿಸಲಾಗಿದೆ. ಇತರ ಟರ್ಮಿನಲ್ಗಳಲ್ಲಿ ಈ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಬಳಸಲು, ನೀವು ಮೂರನೇ ವ್ಯಕ್ತಿಯ ಸಾಫ್ಟ್ವೇರ್ ಅನ್ನು ಬಳಸಬೇಕು
ಪ್ರೊಫೈಲ್ಗಳೊಂದಿಗೆ ಜೋಡಿಸಿದಾಗ ಟ್ಯಾಬ್ಗಳು ವಿಶೇಷವಾಗಿ ಉತ್ತಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ: ಉದಾಹರಣೆಗೆ, ನೀವು ಇಮೇಲ್ಗಾಗಿ ಒಂದು ಟ್ಯಾಬ್, ಇನ್ನೊಂದು ಚಾಟ್ಗಾಗಿ ಇತ್ಯಾದಿಗಳನ್ನು ಹೊಂದಬಹುದು. ಇದನ್ನು ಕನ್ಸೋಲ್ ಟರ್ಮಿನಲ್ ಮತ್ತು ಗ್ನೋಮ್ ಟರ್ಮಿನಲ್ ಉತ್ತಮವಾಗಿ ಬೆಂಬಲಿಸುತ್ತದೆ. ಎರಡೂ ಪ್ರತಿ ಟ್ಯಾಬ್ ತನ್ನದೇ ಆದ ಪ್ರೊಫೈಲ್ ಅನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪ್ರಾರಂಭಿಸಲು ಅನುಮತಿಸುತ್ತದೆ. ಟರ್ಮಿನೇಟರ್ ಪ್ರೊಫೈಲ್ಗಳನ್ನು ಸಹ ಬೆಂಬಲಿಸುತ್ತದೆ, ಆದರೆ ನೀವು ನಿರ್ದಿಷ್ಟ ಟ್ಯಾಬ್ ಅನ್ನು ತೆರೆದಾಗ ಕೆಲವು ಪ್ರೋಗ್ರಾಂಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪ್ರಾರಂಭಿಸುವ ಮಾರ್ಗವನ್ನು ನಾನು ಕಂಡುಹಿಡಿಯಲಾಗಲಿಲ್ಲ. ಇತರ ಟರ್ಮಿನಲ್ಗಳು "ಪ್ರೊಫೈಲ್" ಎಂಬ ಪರಿಕಲ್ಪನೆಯನ್ನು ಹೊಂದಿಲ್ಲ.
ರಫಲ್ಸ್
ಈ ಲೇಖನದ ಮೊದಲ ಭಾಗದಲ್ಲಿ ನಾನು ಕವರ್ ಮಾಡುವ ಕೊನೆಯ ವಿಷಯವೆಂದರೆ ಟರ್ಮಿನಲ್ಗಳ ನೋಟ. ಉದಾಹರಣೆಗೆ GNOME, Xfce ಮತ್ತು urxvt ಪಾರದರ್ಶಕತೆಯನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ, ಆದರೆ ಇತ್ತೀಚೆಗೆ ಹಿನ್ನೆಲೆ ಚಿತ್ರಗಳಿಗೆ ಬೆಂಬಲವನ್ನು ಕೈಬಿಟ್ಟಿದೆ, ಕೆಲವು ಬಳಕೆದಾರರನ್ನು ಟರ್ಮಿನಲ್ಗೆ ಬದಲಾಯಿಸಲು ಒತ್ತಾಯಿಸುತ್ತದೆ.
ಲಿಂಕ್ಗಳನ್ನು ಕ್ಲಿಕ್ ಮಾಡುವಂತೆ ಮಾಡಲು ಕೆಲವು ಟರ್ಮಿನಲ್ಗಳು URL ಮಾದರಿಗಳಿಗಾಗಿ ಪಠ್ಯವನ್ನು ಸಹ ವಿಶ್ಲೇಷಿಸುತ್ತವೆ. ಇದು ಎಲ್ಲಾ VTE- ಪಡೆದ ಟರ್ಮಿನಲ್ಗಳಿಗೆ ಅನ್ವಯಿಸುತ್ತದೆ, ಆದರೆ urxvt ಗೆ ವಿಶೇಷ ಪ್ಲಗಿನ್ ಅಗತ್ಯವಿರುತ್ತದೆ ಅದು ಒಂದು ಕ್ಲಿಕ್ನಲ್ಲಿ ಅಥವಾ ಕೀಬೋರ್ಡ್ ಶಾರ್ಟ್ಕಟ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು URL ಗಳನ್ನು ಪರಿವರ್ತಿಸುತ್ತದೆ. ನಾನು ಪರೀಕ್ಷಿಸಿದ ಇತರ ಟರ್ಮಿನಲ್ಗಳು ಇತರ ರೀತಿಯಲ್ಲಿ URL ಗಳನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತವೆ.
ಅಂತಿಮವಾಗಿ, ಟರ್ಮಿನಲ್ಗಳಲ್ಲಿನ ಹೊಸ ಪ್ರವೃತ್ತಿಯು ಸ್ಕ್ರಾಲ್ ಬಫರ್ನ ಐಚ್ಛಿಕತೆಯಾಗಿದೆ. ಉದಾಹರಣೆಗೆ, st ಯಾವುದೇ ಸ್ಕ್ರಾಲ್ ಬಫರ್ ಹೊಂದಿಲ್ಲ; ಬಳಕೆದಾರರು tmux ಮತ್ತು ನಂತಹ ಟರ್ಮಿನಲ್ ಮಲ್ಟಿಪ್ಲೆಕ್ಸರ್ ಅನ್ನು ಬಳಸುತ್ತಾರೆ ಎಂದು ಊಹಿಸಲಾಗಿದೆ
ಅಲಾಕ್ರಿಟ್ಟಿಯು ಸಹ ಬ್ಯಾಕ್ಸ್ಕ್ರಾಲ್ ಬಫರ್ಗಳನ್ನು ಹೊಂದಿರುವುದಿಲ್ಲ, ಆದರೆ
ಉಪಮೊತ್ತಗಳು
ವಸ್ತುವಿನ ಎರಡನೇ ಭಾಗದಲ್ಲಿ (ಮೂಲದಲ್ಲಿ ಇವು ಎರಡು ವಿಭಿನ್ನ ಲೇಖನಗಳಾಗಿವೆ - ಅಂದಾಜು. ಲೇನ್) ನಾವು ಕಾರ್ಯಕ್ಷಮತೆ, ಮೆಮೊರಿ ಬಳಕೆ ಮತ್ತು ಸುಪ್ತತೆಯನ್ನು ಹೋಲಿಸುತ್ತೇವೆ. ಆದರೆ ಪ್ರಶ್ನೆಯಲ್ಲಿರುವ ಕೆಲವು ಟರ್ಮಿನಲ್ಗಳು ಗಂಭೀರ ನ್ಯೂನತೆಗಳನ್ನು ಹೊಂದಿವೆ ಎಂದು ನಾವು ಈಗಾಗಲೇ ನೋಡಬಹುದು. ಉದಾಹರಣೆಗೆ, ನಿಯಮಿತವಾಗಿ RTL ಸ್ಕ್ರಿಪ್ಟ್ಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವ ಬಳಕೆದಾರರು mlterm ಮತ್ತು pterm ಅನ್ನು ಪರಿಗಣಿಸಲು ಬಯಸಬಹುದು, ಏಕೆಂದರೆ ಅವರು ಇತರರಿಗಿಂತ ಒಂದೇ ರೀತಿಯ ಕಾರ್ಯಗಳನ್ನು ನಿರ್ವಹಿಸುವಲ್ಲಿ ಉತ್ತಮರಾಗಿದ್ದಾರೆ. ಕನ್ಸೋಲ್ ಕೂಡ ಉತ್ತಮ ಪ್ರದರ್ಶನ ನೀಡಿದರು. RTL ಸ್ಕ್ರಿಪ್ಟ್ಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡದ ಬಳಕೆದಾರರು ಬೇರೆ ಯಾವುದನ್ನಾದರೂ ಆಯ್ಕೆ ಮಾಡಬಹುದು.
ದುರುದ್ದೇಶಪೂರಿತ ಕೋಡ್ ಅಳವಡಿಕೆಯ ವಿರುದ್ಧ ರಕ್ಷಣೆಯ ವಿಷಯದಲ್ಲಿ, ಈ ರೀತಿಯ ದಾಳಿಯ ವಿರುದ್ಧ ರಕ್ಷಣೆಯ ವಿಶೇಷ ಅನುಷ್ಠಾನದ ಕಾರಣ urxvt ಎದ್ದು ಕಾಣುತ್ತದೆ, ಇದು ನನಗೆ ಖಂಡಿತವಾಗಿಯೂ ಅನುಕೂಲಕರವಾಗಿದೆ. ಕೆಲವು ಘಂಟೆಗಳು ಮತ್ತು ಸೀಟಿಗಳನ್ನು ಹುಡುಕುತ್ತಿರುವವರಿಗೆ, ಕನ್ಸೋಲ್ ಒಂದು ನೋಟಕ್ಕೆ ಯೋಗ್ಯವಾಗಿದೆ. ಅಂತಿಮವಾಗಿ, VTE ಟರ್ಮಿನಲ್ಗಳಿಗೆ ಅತ್ಯುತ್ತಮವಾದ ಆಧಾರವಾಗಿದೆ ಎಂದು ಗಮನಿಸಬೇಕಾದ ಅಂಶವಾಗಿದೆ, ಇದು ಬಣ್ಣ ಬೆಂಬಲ, URL ಗುರುತಿಸುವಿಕೆ ಮತ್ತು ಮುಂತಾದವುಗಳನ್ನು ಖಾತರಿಪಡಿಸುತ್ತದೆ. ಮೊದಲ ನೋಟದಲ್ಲಿ, ನಿಮ್ಮ ನೆಚ್ಚಿನ ಪರಿಸರದೊಂದಿಗೆ ಬರುವ ಡೀಫಾಲ್ಟ್ ಟರ್ಮಿನಲ್ ಎಲ್ಲಾ ಅವಶ್ಯಕತೆಗಳನ್ನು ಪೂರೈಸಬಹುದು, ಆದರೆ ನಾವು ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವವರೆಗೆ ಈ ಪ್ರಶ್ನೆಯನ್ನು ಮುಕ್ತವಾಗಿ ಬಿಡೋಣ.
ಸಂಭಾಷಣೆಯನ್ನು ಮುಂದುವರಿಸೋಣ
ಸಾಮಾನ್ಯವಾಗಿ, ಸ್ವತಃ ಟರ್ಮಿನಲ್ಗಳ ಕಾರ್ಯಕ್ಷಮತೆಯು ದೂರದ ಸಮಸ್ಯೆಯಂತೆ ಕಾಣಿಸಬಹುದು, ಆದರೆ ಅದು ಬದಲಾದಂತೆ, ಅವುಗಳಲ್ಲಿ ಕೆಲವು ಅಂತಹ ಮೂಲಭೂತ ಪ್ರಕಾರದ ಸಾಫ್ಟ್ವೇರ್ಗೆ ಆಶ್ಚರ್ಯಕರವಾಗಿ ಹೆಚ್ಚಿನ ಸುಪ್ತತೆಯನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತವೆ. ಮುಂದೆ ನಾವು ಸಾಂಪ್ರದಾಯಿಕವಾಗಿ "ವೇಗ" (ವಾಸ್ತವವಾಗಿ, ಇದು ಸ್ಕ್ರೋಲಿಂಗ್ ವೇಗ) ಮತ್ತು ಟರ್ಮಿನಲ್ನ ಮೆಮೊರಿ ಬಳಕೆ (ಇದು ದಶಕಗಳ ಹಿಂದೆ ಇದ್ದಂತೆ ಇಂದು ನಿರ್ಣಾಯಕವಾಗಿಲ್ಲ ಎಂಬ ಎಚ್ಚರಿಕೆಯೊಂದಿಗೆ) ನೋಡೋಣ.
ವಿಳಂಬ
ಟರ್ಮಿನಲ್ ಕಾರ್ಯಕ್ಷಮತೆಯ ಸಂಪೂರ್ಣ ಅಧ್ಯಯನದ ನಂತರ, ಈ ವಿಷಯದಲ್ಲಿ ಪ್ರಮುಖ ನಿಯತಾಂಕವೆಂದರೆ ಲೇಟೆನ್ಸಿ (ಪಿಂಗ್) ಎಂದು ನಾನು ತೀರ್ಮಾನಕ್ಕೆ ಬಂದಿದ್ದೇನೆ. ಅವರ ಲೇಖನದಲ್ಲಿ
ಆದರೆ ಸುಪ್ತತೆ ಎಂದರೇನು ಮತ್ತು ಅದು ಏಕೆ ಮುಖ್ಯವಾಗಿದೆ? ತನ್ನ ಲೇಖನದಲ್ಲಿ, ಫ್ಯಾಟಿನ್ ಇದನ್ನು "ಕೀಲಿಯನ್ನು ಒತ್ತುವ ಮತ್ತು ಅನುಗುಣವಾದ ಪರದೆಯ ನವೀಕರಣದ ನಡುವಿನ ವಿಳಂಬ" ಎಂದು ವ್ಯಾಖ್ಯಾನಿಸಿದ್ದಾರೆ ಮತ್ತು ಉಲ್ಲೇಖಿಸಿದ್ದಾರೆ
ಈ ಪಿಂಗ್ ಕೇವಲ ತೃಪ್ತಿಗಿಂತ ಆಳವಾದ ಪರಿಣಾಮಗಳನ್ನು ಹೊಂದಿದೆ ಎಂದು ಫ್ಯಾಟಿನ್ ವಿವರಿಸುತ್ತಾರೆ: "ಟೈಪಿಂಗ್ ನಿಧಾನವಾಗುತ್ತದೆ, ಹೆಚ್ಚಿನ ದೋಷಗಳು ಸಂಭವಿಸುತ್ತವೆ ಮತ್ತು ಕಣ್ಣು ಮತ್ತು ಸ್ನಾಯುವಿನ ಒತ್ತಡವು ಹೆಚ್ಚಾಗುತ್ತದೆ." ಬೇರೆ ರೀತಿಯಲ್ಲಿ ಹೇಳುವುದಾದರೆ, ದೊಡ್ಡ ವಿಳಂಬವು ಮುದ್ರಣದೋಷಗಳಿಗೆ ಕಾರಣವಾಗಬಹುದು ಮತ್ತು ಕಡಿಮೆ ಕೋಡ್ ಗುಣಮಟ್ಟವನ್ನು ಉಂಟುಮಾಡಬಹುದು, ಏಕೆಂದರೆ ಇದು ಮೆದುಳಿನ ಮೇಲೆ ಹೆಚ್ಚುವರಿ ಅರಿವಿನ ಹೊರೆಗೆ ಕಾರಣವಾಗುತ್ತದೆ. ಆದರೆ ಕೆಟ್ಟದೆಂದರೆ ಪಿಂಗ್ "ಕಣ್ಣು ಮತ್ತು ಸ್ನಾಯುವಿನ ಒತ್ತಡವನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ," ಇದು ಸೂಚಿಸುವಂತೆ ತೋರುತ್ತದೆ
ಈ ಕೆಲವು ಪರಿಣಾಮಗಳು ದೀರ್ಘಕಾಲದವರೆಗೆ ತಿಳಿದಿವೆ, ಮತ್ತು ಫಲಿತಾಂಶಗಳು
ಫಾಟಿನ್ ತನ್ನ ಪರೀಕ್ಷೆಗಳನ್ನು ಪಠ್ಯ ಸಂಪಾದಕರ ಮೇಲೆ ನಡೆಸಿದನು; ಎಂಬ ಪೋರ್ಟಬಲ್ ಉಪಕರಣವನ್ನು ಅವರು ರಚಿಸಿದರು
ನನ್ನ ಪ್ರಯೋಗವು ಅವನ ಪರೀಕ್ಷೆಗಳೊಂದಿಗೆ ಒಪ್ಪುತ್ತದೆ ಎಂದು ತೋರಿಸಲು ನನ್ನ ಅಳತೆಗಳ ಫಲಿತಾಂಶಗಳು ಮತ್ತು ಫ್ಯಾಟಿನ್ ಅವರ ಕೆಲವು ಫಲಿತಾಂಶಗಳು ಇಲ್ಲಿವೆ:
xterm ಮತ್ತು mlterm ನಂತಹ ಹಳೆಯ ಕಾರ್ಯಕ್ರಮಗಳ ಉತ್ತಮ ಪ್ರತಿಕ್ರಿಯೆ ಸಮಯ ನನಗೆ ಹೊಡೆದ ಮೊದಲ ವಿಷಯ. ಕೆಟ್ಟ ರಿಜಿಸ್ಟರ್ ಲೇಟೆನ್ಸಿಯೊಂದಿಗೆ (2,4 ms), ಅವರು ವೇಗವಾದ ಆಧುನಿಕ ಟರ್ಮಿನಲ್ಗಿಂತ ಉತ್ತಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸಿದರು (ಸ್ಟಕ್ಕೆ 10,6 ms). ಯಾವುದೇ ಆಧುನಿಕ ಟರ್ಮಿನಲ್ 10 ಮಿಲಿಸೆಕೆಂಡ್ ಮಿತಿಗಿಂತ ಕೆಳಗಿರುವುದಿಲ್ಲ. ನಿರ್ದಿಷ್ಟವಾಗಿ ಹೇಳುವುದಾದರೆ, 2017 ರಲ್ಲಿ ಅದರ ಮೊದಲ ವಿಮರ್ಶೆಯಿಂದ ಅದರ ಸ್ಕೋರ್ಗಳು ಸುಧಾರಿಸಿದ್ದರೂ "ವೇಗದ ಟರ್ಮಿನಲ್ ಎಮ್ಯುಲೇಟರ್ ಲಭ್ಯವಿದೆ" ಕ್ಲೈಮ್ ಅನ್ನು ಪೂರೈಸಲು ಅಲಾಕ್ರಿಟ್ಟಿ ವಿಫಲವಾಗಿದೆ. ವಾಸ್ತವವಾಗಿ, ಯೋಜನೆಯ ಲೇಖಕರು
ಆದಾಗ್ಯೂ, ವ್ಯತ್ಯಾಸಗಳು ಕಣ್ಣಿಗೆ ಕಾಣಿಸದಿರಬಹುದು. ಫ್ಯಾಟಿನ್ ವಿವರಿಸಿದಂತೆ, "ನಿಮ್ಮ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರಲು ವಿಳಂಬದ ಬಗ್ಗೆ ನೀವು ತಿಳಿದಿರಬೇಕಾಗಿಲ್ಲ." ಪ್ರಮಾಣಿತ ವಿಚಲನದ ಬಗ್ಗೆಯೂ ಫ್ಯಾಟಿನ್ ಎಚ್ಚರಿಸಿದ್ದಾರೆ: "ಸುಪ್ತತೆಯಲ್ಲಿನ ಯಾವುದೇ ಅಡಚಣೆಗಳು (ಜಿಟ್ಟರ್) ಅವುಗಳ ಅನಿರೀಕ್ಷಿತತೆಯಿಂದಾಗಿ ಹೆಚ್ಚುವರಿ ಒತ್ತಡವನ್ನು ಉಂಟುಮಾಡುತ್ತವೆ."
ಮೇಲಿನ ಗ್ರಾಫ್ ಅನ್ನು ಶುದ್ಧ ಡೆಬಿಯನ್ 9 (ಸ್ಟ್ರೆಚ್) ಜೊತೆಗೆ ತೆಗೆದುಕೊಳ್ಳಲಾಗಿದೆ
ಸ್ಕ್ರಾಲ್ ವೇಗ
ಮುಂದಿನ ಪರೀಕ್ಷೆಯು ಸಾಂಪ್ರದಾಯಿಕ "ವೇಗ" ಅಥವಾ "ಬ್ಯಾಂಡ್ವಿಡ್ತ್" ಪರೀಕ್ಷೆಯಾಗಿದೆ, ಇದು ಪರದೆಯ ಮೇಲೆ ದೊಡ್ಡ ಪ್ರಮಾಣದ ಪಠ್ಯವನ್ನು ಪ್ರದರ್ಶಿಸುವಾಗ ಟರ್ಮಿನಲ್ ಎಷ್ಟು ಬೇಗನೆ ಪುಟವನ್ನು ಸ್ಕ್ರಾಲ್ ಮಾಡಬಹುದು ಎಂಬುದನ್ನು ಅಳೆಯುತ್ತದೆ. ಪರೀಕ್ಷೆಯ ಯಂತ್ರಶಾಸ್ತ್ರವು ಬದಲಾಗುತ್ತದೆ; ಮೂಲ ಪರೀಕ್ಷೆಯು seq ಆಜ್ಞೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಅದೇ ಪಠ್ಯ ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಸರಳವಾಗಿ ರಚಿಸುವುದು. ಇತರ ಪರೀಕ್ಷೆಗಳಲ್ಲಿ ಥಾಮಸ್ ಇ. ಡಿಕ್ಕಿಯ (ಎಕ್ಸ್ಟರ್ಮ್ ಮೆಂಟೇನರ್) ಪರೀಕ್ಷೆಯು ಪುನರಾವರ್ತಿತವಾಗಿರುತ್ತದೆ
ಇಲ್ಲಿ ನಾವು rxvt ಮತ್ತು st ಸ್ಪರ್ಧೆಯ ಮುಂದೆ ಪುಲ್ ಅನ್ನು ನೋಡುತ್ತೇವೆ, ಅದರ ನಂತರ ಹೆಚ್ಚು ಹೊಸ ಅಲಾಕ್ರಿಟ್ಟಿಯನ್ನು ಕಾರ್ಯಕ್ಷಮತೆಯ ಮೇಲೆ ಕೇಂದ್ರೀಕರಿಸಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ. ಮುಂದಿನದು Xfce (VTE ಕುಟುಂಬ) ಮತ್ತು ಕನ್ಸೋಲ್, ಇದು ಸುಮಾರು ಎರಡು ಪಟ್ಟು ವೇಗವಾಗಿರುತ್ತದೆ. ಕೊನೆಯದು xterm, ಇದು rxvt ಗಿಂತ ಐದು ಪಟ್ಟು ನಿಧಾನವಾಗಿರುತ್ತದೆ. ಪರೀಕ್ಷೆಯ ಸಮಯದಲ್ಲಿ, xterm ಸಹ ಸಾಕಷ್ಟು ಅಲೆಗಳನ್ನು ಉಂಟುಮಾಡಿತು, ಪಠ್ಯವನ್ನು ರವಾನಿಸುವುದು ಒಂದೇ ಸಾಲಿನಲ್ಲಿದ್ದರೂ ಸಹ ಅದನ್ನು ನೋಡಲು ಕಷ್ಟವಾಗುತ್ತದೆ. ಕನ್ಸೋಲ್ ವೇಗವಾಗಿತ್ತು, ಆದರೆ ಕೆಲವೊಮ್ಮೆ ಇದು ಟ್ರಿಕಿ ಆಗಿತ್ತು: ಪ್ರದರ್ಶನವು ಕಾಲಕಾಲಕ್ಕೆ ಫ್ರೀಜ್ ಆಗುತ್ತದೆ, ಭಾಗಶಃ ಪಠ್ಯವನ್ನು ತೋರಿಸುತ್ತದೆ ಅಥವಾ ಅದನ್ನು ತೋರಿಸುವುದಿಲ್ಲ. st, Alacritty, ಮತ್ತು rxvt ಸೇರಿದಂತೆ ಇತರ ಟರ್ಮಿನಲ್ಗಳು ತಂತಿಗಳನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ಪ್ರದರ್ಶಿಸುತ್ತವೆ.
ವಿಭಿನ್ನ ಟರ್ಮಿನಲ್ಗಳಲ್ಲಿನ ಸ್ಕ್ರಾಲ್ ಬಫರ್ಗಳ ವಿನ್ಯಾಸದಿಂದಾಗಿ ಕಾರ್ಯಕ್ಷಮತೆಯ ವ್ಯತ್ಯಾಸಗಳು ಉಂಟಾಗುತ್ತವೆ ಎಂದು ಡಿಕ್ಕಿ ವಿವರಿಸುತ್ತಾರೆ. ನಿರ್ದಿಷ್ಟವಾಗಿ, ಅವರು rxvt ಮತ್ತು ಇತರ ಟರ್ಮಿನಲ್ಗಳನ್ನು "ಸಾಮಾನ್ಯ ನಿಯಮಗಳನ್ನು ಅನುಸರಿಸುತ್ತಿಲ್ಲ" ಎಂದು ಆರೋಪಿಸುತ್ತಾರೆ:
“xterm ಗಿಂತ ಭಿನ್ನವಾಗಿ, rxvt ಎಲ್ಲಾ ನವೀಕರಣಗಳನ್ನು ಪ್ರದರ್ಶಿಸಲು ಪ್ರಯತ್ನಿಸಲಿಲ್ಲ. ಅದು ಹಿಂದೆ ಬಿದ್ದರೆ, ಅದು ಹಿಡಿಯಲು ಕೆಲವು ನವೀಕರಣಗಳನ್ನು ನಿರಾಕರಿಸುತ್ತದೆ. ಇದು ಆಂತರಿಕ ಮೆಮೊರಿ ಸಂಘಟನೆಗಿಂತ ಸ್ಪಷ್ಟವಾದ ಸ್ಕ್ರೋಲಿಂಗ್ ವೇಗದ ಮೇಲೆ ಹೆಚ್ಚಿನ ಪ್ರಭಾವ ಬೀರಿತು. ಒಂದು ನ್ಯೂನತೆಯೆಂದರೆ ASCII ಅನಿಮೇಷನ್ ಸ್ವಲ್ಪಮಟ್ಟಿಗೆ ನಿಖರವಾಗಿಲ್ಲ."
ಈ ಗ್ರಹಿಸಿದ xterm ಆಲಸ್ಯವನ್ನು ಸರಿಪಡಿಸಲು, Dickey ಸಂಪನ್ಮೂಲವನ್ನು ಬಳಸಲು ಸಲಹೆ ನೀಡುತ್ತಾರೆ
ಸಂಪನ್ಮೂಲ ಬಳಕೆ
ಸ್ಕ್ರೋಲಿಂಗ್ ವೇಗವನ್ನು ಕಾರ್ಯಕ್ಷಮತೆಯ ಮೆಟ್ರಿಕ್ ಎಂದು ಪರಿಗಣಿಸಲು ಇದು ಅರ್ಥಪೂರ್ಣವಾಗಿದೆಯೇ ಎಂಬುದರ ಹೊರತಾಗಿಯೂ, ಈ ಪರೀಕ್ಷೆಯು ನಮಗೆ ಟರ್ಮಿನಲ್ಗಳಲ್ಲಿ ಲೋಡ್ ಅನ್ನು ಅನುಕರಿಸಲು ಅನುಮತಿಸುತ್ತದೆ, ಇದು ಮೆಮೊರಿ ಅಥವಾ ಡಿಸ್ಕ್ ಬಳಕೆಯಂತಹ ಇತರ ನಿಯತಾಂಕಗಳನ್ನು ಅಳೆಯಲು ನಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ನಿಗದಿತ ಪರೀಕ್ಷೆಯನ್ನು ನಡೆಸುವ ಮೂಲಕ ಮೆಟ್ರಿಕ್ಗಳನ್ನು ಪಡೆಯಲಾಗಿದೆ ಅನುಕ್ರಮ ಪೈಥಾನ್ ಪ್ರಕ್ರಿಯೆ ಮಾನಿಟರಿಂಗ್ ಅಡಿಯಲ್ಲಿ. ಅವರು ಮೀಟರ್ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಿದರು
ಈ ಪರೀಕ್ಷೆಯಲ್ಲಿ, ST 8 MB ಯ ಕಡಿಮೆ ಸರಾಸರಿ ಮೆಮೊರಿ ಬಳಕೆಯೊಂದಿಗೆ ಮೊದಲ ಸ್ಥಾನವನ್ನು ಪಡೆಯುತ್ತದೆ, ಇದು ವಿನ್ಯಾಸದ ಮುಖ್ಯ ಕಲ್ಪನೆಯು ಸರಳತೆಯಾಗಿದೆ ಎಂದು ಪರಿಗಣಿಸಿದರೆ ಆಶ್ಚರ್ಯವೇನಿಲ್ಲ. mlterm, xterm ಮತ್ತು rxvt ಸ್ವಲ್ಪ ಹೆಚ್ಚು ಸೇವಿಸುತ್ತವೆ - ಸುಮಾರು 12 MB. ಮತ್ತೊಂದು ಗಮನಾರ್ಹ ಫಲಿತಾಂಶವೆಂದರೆ ಅಲಾಕ್ರಿಟ್ಟಿ, ಇದು ಚಲಾಯಿಸಲು 30 MB ಅಗತ್ಯವಿದೆ. ನಂತರ VTE ಕುಟುಂಬದ ಟರ್ಮಿನಲ್ಗಳು 40 ರಿಂದ 60 MB ವರೆಗಿನ ಅಂಕಿಅಂಶಗಳೊಂದಿಗೆ ಇವೆ, ಇದು ಸಾಕಷ್ಟು ಹೆಚ್ಚು. ಈ ಟರ್ಮಿನಲ್ಗಳು ಉನ್ನತ ಮಟ್ಟದ ಗ್ರಂಥಾಲಯಗಳನ್ನು ಬಳಸುತ್ತವೆ ಎಂಬ ಅಂಶದಿಂದ ಈ ಬಳಕೆಯನ್ನು ವಿವರಿಸಬಹುದು, ಉದಾಹರಣೆಗೆ, GTK. ಕನ್ಸೋಲ್ ಪರೀಕ್ಷೆಯ ಸಮಯದಲ್ಲಿ 65MB ಮೆಮೊರಿ ಬಳಕೆಯೊಂದಿಗೆ ಕೊನೆಯದಾಗಿ ಬರುತ್ತದೆ, ಆದಾಗ್ಯೂ ಇದು ಅದರ ವ್ಯಾಪಕ ಶ್ರೇಣಿಯ ವೈಶಿಷ್ಟ್ಯಗಳಿಂದ ಸಮರ್ಥಿಸಲ್ಪಡುತ್ತದೆ.
ಹತ್ತು ವರ್ಷಗಳ ಹಿಂದೆ ಪಡೆದ ಹಿಂದಿನ ಫಲಿತಾಂಶಗಳಿಗೆ ಹೋಲಿಸಿದರೆ, ಎಲ್ಲಾ ಪ್ರೋಗ್ರಾಂಗಳು ಗಮನಾರ್ಹವಾಗಿ ಹೆಚ್ಚು ಮೆಮೊರಿಯನ್ನು ಬಳಸಲಾರಂಭಿಸಿದವು. Xterm ಗೆ 4 MB ಅಗತ್ಯವಿತ್ತು, ಆದರೆ ಈಗ ಪ್ರಾರಂಭದಲ್ಲಿ 15 MB ಅಗತ್ಯವಿದೆ. rxvt ಗಾಗಿ ಬಳಕೆಯಲ್ಲಿ ಇದೇ ರೀತಿಯ ಹೆಚ್ಚಳವಿದೆ, ಇದಕ್ಕೆ ಈಗ ಬಾಕ್ಸ್ನಿಂದ 16 MB ಅಗತ್ಯವಿದೆ. Xfce ಟರ್ಮಿನಲ್ 34 MB ಅನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ, ಇದು ಮೊದಲಿಗಿಂತ ಮೂರು ಪಟ್ಟು ದೊಡ್ಡದಾಗಿದೆ, ಆದರೆ GNOME ಟರ್ಮಿನಲ್ಗೆ ಕೇವಲ 20 MB ಅಗತ್ಯವಿದೆ. ಸಹಜವಾಗಿ, ಎಲ್ಲಾ ಹಿಂದಿನ ಪರೀಕ್ಷೆಗಳನ್ನು 32-ಬಿಟ್ ಆರ್ಕಿಟೆಕ್ಚರ್ನಲ್ಲಿ ನಡೆಸಲಾಯಿತು. LCA 2012 ರಸ್ಟಿ ರಸ್ಸೆಲ್ ನಲ್ಲಿ
ಆದಾಗ್ಯೂ, ಟರ್ಮಿನಲ್ನಂತೆ ಮೂಲಭೂತವಾದ ಯಾವುದನ್ನಾದರೂ ಹೆಚ್ಚಿನ ಮೆಮೊರಿಯನ್ನು ನಿಯೋಜಿಸುವುದು ಸಂಪನ್ಮೂಲಗಳ ವ್ಯರ್ಥ ಎಂದು ನನಗೆ ಸಹಾಯ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ. ಈ ಪ್ರೋಗ್ರಾಮ್ಗಳು ಚಿಕ್ಕದಕ್ಕಿಂತ ಚಿಕ್ಕದಾಗಿರಬೇಕು, ಯಾವುದೇ "ಬಾಕ್ಸ್", ಶೂಬಾಕ್ಸ್ನಲ್ಲಿಯೂ ಸಹ ಚಲಾಯಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ, ನಾವು ಎಂದಾದರೂ ಅವುಗಳು ಲಿನಕ್ಸ್ ಸಿಸ್ಟಮ್ಗಳೊಂದಿಗೆ ಸಜ್ಜುಗೊಳ್ಳಬೇಕಾದ ಹಂತಕ್ಕೆ ಬಂದರೆ (ಮತ್ತು ಅದು ಹಾಗೆ ಆಗುತ್ತದೆ ಎಂದು ನಿಮಗೆ ತಿಳಿದಿದೆ. ) ಆದರೆ ಈ ಸಂಖ್ಯೆಗಳೊಂದಿಗೆ, ಕೆಲವು ಹಗುರವಾದ ಮತ್ತು ಅತ್ಯಂತ ಸೀಮಿತ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಹೊರತುಪಡಿಸಿ ಬಹು ಟರ್ಮಿನಲ್ಗಳನ್ನು ಚಾಲನೆಯಲ್ಲಿರುವ ಯಾವುದೇ ಪರಿಸರದಲ್ಲಿ ಭವಿಷ್ಯದಲ್ಲಿ ಮೆಮೊರಿ ಬಳಕೆ ಸಮಸ್ಯೆಯಾಗುತ್ತದೆ. ಇದನ್ನು ಸರಿದೂಗಿಸಲು, GNOME ಟರ್ಮಿನಲ್, Konsole, urxvt, ಟರ್ಮಿನೇಟರ್ ಮತ್ತು Xfce ಟರ್ಮಿನಲ್ಗಳು ಡೀಮನ್ ಮೋಡ್ ಅನ್ನು ಹೊಂದಿದ್ದು ಅದು ಒಂದೇ ಪ್ರಕ್ರಿಯೆಯ ಮೂಲಕ ಬಹು ಟರ್ಮಿನಲ್ಗಳನ್ನು ನಿಯಂತ್ರಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ, ಅವುಗಳ ಮೆಮೊರಿ ಬಳಕೆಯನ್ನು ಸೀಮಿತಗೊಳಿಸುತ್ತದೆ.
ನನ್ನ ಪರೀಕ್ಷೆಗಳ ಸಮಯದಲ್ಲಿ, ಡಿಸ್ಕ್ ರೀಡ್-ರೈಟ್ ಬಗ್ಗೆ ನಾನು ಮತ್ತೊಂದು ಅನಿರೀಕ್ಷಿತ ಫಲಿತಾಂಶಕ್ಕೆ ಬಂದಿದ್ದೇನೆ: ನಾನು ಇಲ್ಲಿ ಏನನ್ನೂ ನೋಡುವುದಿಲ್ಲ ಎಂದು ನಿರೀಕ್ಷಿಸಿದೆ, ಆದರೆ ಕೆಲವು ಟರ್ಮಿನಲ್ಗಳು ಡಿಸ್ಕ್ಗೆ ಹೆಚ್ಚು ದೊಡ್ಡ ಡೇಟಾವನ್ನು ಬರೆಯುತ್ತವೆ ಎಂದು ತಿಳಿದುಬಂದಿದೆ. ಆದ್ದರಿಂದ, VTE ಲೈಬ್ರರಿಯು ವಾಸ್ತವವಾಗಿ ಡಿಸ್ಕ್ನಲ್ಲಿ ಸ್ಕ್ರಾಲ್ ಬಫರ್ ಅನ್ನು ಇರಿಸುತ್ತದೆ (ಈ ವೈಶಿಷ್ಟ್ಯ
ತೀರ್ಮಾನಕ್ಕೆ
ಲೇಖನದ ಮೊದಲ ಭಾಗದಲ್ಲಿ, ವಿಟಿಇ-ಆಧಾರಿತ ಟರ್ಮಿನಲ್ಗಳು ಉತ್ತಮ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಹೊಂದಿವೆ ಎಂದು ನಾವು ಕಂಡುಕೊಂಡಿದ್ದೇವೆ, ಆದರೆ ಈಗ ಇದು ಕೆಲವು ಕಾರ್ಯಕ್ಷಮತೆಯ ವೆಚ್ಚಗಳೊಂದಿಗೆ ಬರುತ್ತದೆ ಎಂದು ನಾವು ನೋಡುತ್ತೇವೆ. ಈಗ ಮೆಮೊರಿ ಸಮಸ್ಯೆಯಲ್ಲ ಏಕೆಂದರೆ ಎಲ್ಲಾ VTE ಟರ್ಮಿನಲ್ಗಳನ್ನು ಡೀಮನ್ ಪ್ರಕ್ರಿಯೆಯ ಮೂಲಕ ನಿಯಂತ್ರಿಸಬಹುದು, ಅದು ಅವರ ಹಸಿವನ್ನು ಮಿತಿಗೊಳಿಸುತ್ತದೆ. ಆದಾಗ್ಯೂ, RAM ಮತ್ತು ಕರ್ನಲ್ ಬಫರ್ಗಳ ಮೊತ್ತದ ಮೇಲೆ ಭೌತಿಕ ಮಿತಿಗಳನ್ನು ಹೊಂದಿರುವ ಹಳೆಯ ವ್ಯವಸ್ಥೆಗಳಿಗೆ ಇನ್ನೂ ಟರ್ಮಿನಲ್ಗಳ ಹಿಂದಿನ ಆವೃತ್ತಿಗಳು ಬೇಕಾಗಬಹುದು, ಏಕೆಂದರೆ ಅವುಗಳು ಗಮನಾರ್ಹವಾಗಿ ಕಡಿಮೆ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಬಳಸುತ್ತವೆ. VTE ಟರ್ಮಿನಲ್ಗಳು ಥ್ರೋಪುಟ್ (ಸ್ಕ್ರೋಲಿಂಗ್) ಪರೀಕ್ಷೆಗಳಲ್ಲಿ ಉತ್ತಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸಿದರೂ, ಅವುಗಳ ಡಿಸ್ಪ್ಲೇ ಲೇಟೆನ್ಸಿ GNOME ಯೂಸರ್ ಗೈಡ್ನಲ್ಲಿ ಹೊಂದಿಸಲಾದ ಮಿತಿಗಿಂತ ಮೇಲಿರುತ್ತದೆ. VTE ಡೆವಲಪರ್ಗಳು ಇದನ್ನು ಬಹುಶಃ ಗಣನೆಗೆ ತೆಗೆದುಕೊಳ್ಳಬೇಕು. ಅನನುಭವಿ ಲಿನಕ್ಸ್ ಬಳಕೆದಾರರಿಗೆ ಸಹ ಟರ್ಮಿನಲ್ ಅನ್ನು ಎದುರಿಸುವುದು ಅನಿವಾರ್ಯವಾಗಿದೆ ಎಂದು ನಾವು ಗಣನೆಗೆ ತೆಗೆದುಕೊಂಡರೆ, ಅವರು ಅದನ್ನು ಹೆಚ್ಚು ಬಳಕೆದಾರ ಸ್ನೇಹಿಯಾಗಿಸಬಹುದು. ಅನುಭವಿ ಗೀಕ್ಗಳಿಗೆ, ಡೀಫಾಲ್ಟ್ ಟರ್ಮಿನಲ್ನಿಂದ ಬದಲಾಯಿಸುವುದು ಕಡಿಮೆ ಕಣ್ಣಿನ ಆಯಾಸ ಮತ್ತು ದೀರ್ಘಾವಧಿಯ ಕೆಲಸದ ಅವಧಿಯ ಕಾರಣದಿಂದಾಗಿ ಭವಿಷ್ಯದ ಕೆಲಸ-ಸಂಬಂಧಿತ ಗಾಯಗಳು ಮತ್ತು ಅನಾರೋಗ್ಯವನ್ನು ತಪ್ಪಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಸಹ ಅರ್ಥೈಸಬಹುದು. ದುರದೃಷ್ಟವಶಾತ್, ಹಳೆಯ xterm ಮತ್ತು mlterm ಮಾತ್ರ ನಮ್ಮನ್ನು 10 ಮಿಲಿಸೆಕೆಂಡ್ಗಳ ಮ್ಯಾಜಿಕ್ ಪಿಂಗ್ ಮಿತಿಗೆ ತರುತ್ತದೆ, ಇದು ಅನೇಕರಿಗೆ ಸ್ವೀಕಾರಾರ್ಹವಲ್ಲ.
ಬೆಂಚ್ಮಾರ್ಕ್ ಮಾಪನಗಳು ಲಿನಕ್ಸ್ ಗ್ರಾಫಿಕಲ್ ಪರಿಸರದ ಅಭಿವೃದ್ಧಿಯಿಂದಾಗಿ, ಡೆವಲಪರ್ಗಳು ಹಲವಾರು ರಾಜಿ ಮಾಡಿಕೊಳ್ಳಬೇಕಾಯಿತು ಎಂದು ತೋರಿಸಿದೆ. ಕೆಲವು ಬಳಕೆದಾರರು ಸಾಮಾನ್ಯ ವಿಂಡೋ ಮ್ಯಾನೇಜರ್ಗಳನ್ನು ನೋಡಲು ಬಯಸಬಹುದು ಏಕೆಂದರೆ ಅವುಗಳು ಗಮನಾರ್ಹವಾದ ಪಿಂಗ್ ಕಡಿತವನ್ನು ಒದಗಿಸುತ್ತವೆ. ದುರದೃಷ್ಟವಶಾತ್, ವೇಲ್ಯಾಂಡ್ಗೆ ಸುಪ್ತತೆಯನ್ನು ಅಳೆಯಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ: ನಾನು ಬಳಸಿದ ಟೈಪೊಮೀಟರ್ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ವೇಲ್ಯಾಂಡ್ ಅನ್ನು ತಡೆಗಟ್ಟಲು ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ: ಇತರ ಕಿಟಕಿಗಳ ಮೇಲೆ ಬೇಹುಗಾರಿಕೆ. ವೇಲ್ಯಾಂಡ್ ಸಂಯೋಜನೆಯು X.org ಗಿಂತ ಉತ್ತಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ ಮತ್ತು ಭವಿಷ್ಯದಲ್ಲಿ ಯಾರಾದರೂ ಈ ಪರಿಸರದಲ್ಲಿ ಸುಪ್ತತೆಯನ್ನು ಅಳೆಯಲು ಒಂದು ಮಾರ್ಗವನ್ನು ಕಂಡುಕೊಳ್ಳುತ್ತಾರೆ ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ.
ಮೂಲ: www.habr.com