Knowledge

XScreenSaver

Source 📝

1505: 142: 38: 1448: 1493: 600:
Those Linux distributions that have replaced XScreenSaver with other screen-locking frameworks have suffered notable security problems. Those other frameworks have a history of security bugs that allow the screen to be un-locked without a password, e.g., by simply holding a key down until the locker
604:
In 2004, Zawinski had written about the architectural decisions made in XScreenSaver with the goal of avoiding this very class of bug, leading him to quip in 2015, "If you are not running XScreenSaver on Linux, then it is safe to assume that your screen does not lock."
306: 620:
Though many of the newer hacks take full advantage of the power of modern computers, the age of the project means that some of the older hacks may look dated to modern eyes, as they were originally written for much less powerful computers.
451:
into a separate process from the screen locking framework. This means that a programming error in one of the graphical display modes cannot compromise the screen locker itself (e.g., a crash in a display mode will not unlock the screen).
420:, and the developer discourages anyone from porting it. The author considers Microsoft to be "a company with vicious, predatory, anti-competitive business practices" and says that, as one of the original authors of 384:) use XScreenSaver almost exclusively. On those systems, there are several packages: one for the screen-saving and locking framework, and two or more for the display modes, divided somewhat arbitrarily. 309: 313: 312: 308: 307: 314: 455:
It also means that a third-party screen saver can be written in any language or with any graphics library, so long as it is capable of rendering onto an externally provided window.
311: 440:
is responsible for detecting idle-ness, blanking and locking the screen, and launching the display modes. The display modes (termed "hacks" from the historical usage "
585:. Earlier versions of these frameworks still depended upon the XScreenSaver collection of screen savers, which is over 90% of the package. However, in 2011, 617:, to 3D demonstrations of complex mathematical principles, to simulations of other computer systems, to re-creations of artifacts and effects from movies. 473:
Rather than forking the code-base and re-writing the hacks to target different platforms, XScreenSaver contains a number of compatibility layers.
546:
the display modes, the XScreenSaver daemon links with as few libraries as possible. In particular, it does not link against GUI frameworks like
964: 310: 1509: 409:
systems, the XScreenSaver display modes work either as normal screen savers (which Android sometimes refers to as "Daydreams") or as
121: 582: 59: 52: 102: 74: 1530: 543: 448: 200: 81: 1535: 1483: 526: 503: 406: 346: 261: 766:
models of a series of common drugs and other molecules, of which thirty-eight (38) are built in. It can also read
657: 589:
version 3 dropped support for screensavers completely, supporting only simple screen blanking, and as of 2018,
88: 1452: 1083: 48: 1171: 70: 1525: 721: 410: 923: 763: 649: 366: 326: 573:
screen-blanking frameworks by default instead of the framework included with XScreenSaver. In 2011,
919: 835: 759: 745: 594: 562: 268: 437: 421: 1349: 1211: 767: 711: 687: 646: 586: 574: 566: 425: 417: 1055: 1421: 890: 815: 280: 244: 353:
in 1992 and is still maintained by him, with new releases coming out several times a year.
665: 642: 614: 578: 486: 463: 373: 95: 1399: 1033: 1283: 839: 749: 735: 388: 350: 161: 1105: 402:
systems, XScreenSaver is a stand-alone app that can run any of the hacks full-screen.
1519: 362: 1233: 424:, he holds a "personal grudge" against Microsoft because of its behavior during the 141: 1497: 872: 777: 653: 441: 1011: 943: 1377: 1327: 1305: 1261: 1148: 686:
program and running it. When run from the command-line, it is a fully functional
1127: 989: 847: 490: 330: 285: 273: 37: 862: 787: 590: 458:
For historical and portability reasons, the included hacks are all written in
168: 156: 1468: 879: 851: 530: 515: 507: 369: 334: 249: 17: 1447: 529:, XScreenSaver also contains an implementation of the X11 API in terms of 1473: 1328:"CVE-2019-3010, Privilege Escalation in Oracle Solaris XScreenSaver fork" 679: 786:– puts a moving spotlight across the desktop in the style of the 701: 669: 381: 147: 1354: 1238: 1189: 825: 798: 632: 511: 467: 459: 447:
This is an important security feature, in that the display modes are
237: 229: 1460: 296: 1492: 1422:"Sleep Mode: The Art of the Screensaver: Jamie Zawinski Interview" 683: 661: 478: 392: 377: 338: 304: 253: 905:– the filter-based fire effect, also known as flame effect. 818:
television set, including visual artifacts and reception issues.
731: 555: 990:"List of screen savers included in the XScreenSaver collection" 808:– creates collages out of random images found on the Web. 570: 551: 547: 522: 499: 482: 399: 342: 257: 233: 31: 613:
The included hacks are highly varied, ranging from simple 2D
1350:"Cinnamon-screensaver lock by-pass via the virtual keyboard" 485:, XScreenSaver contains a complete implementation of the 861:– based on the 1984 program regarded as the first 720:– 3D toasters fly around, inspired by the classic 498:
To allow the OpenGL 1.3-based hacks to run natively on
1172:"Re: What is the status of the screensaver in GNOME3?" 770:
from a file, or files placed in a directory, as input.
1481: 1306:"CVE-2015-7496, Hold ESC to unlock Gnome-session GDM" 776:– tiles the screen aperiodically with coloured 828:
and other celestial bodies that update in real time.
796:– an animation in the style of the video game 521:
And to allow the X11-based hacks to run natively on
899:– another effect common in older Amiga demos. 291: 279: 267: 243: 225: 199: 177: 167: 155: 1262:"CVE-2014-1949, Cinnamon-Screensaver Lock Bypass" 597:4.0.8 no longer supports the XScreenSaver hacks. 510:, XScreenSaver contains an implementation of the 477:To allow the X11-based hacks to run natively on 846:Some of the included hacks are very similar to 645:variants from many computer systems, including 865:ever, showing the bouncing red and white ball. 391:systems, XScreenSaver works with the built-in 1400:"jwz.org blog post about Gnome security bugs" 984: 982: 893:similar to those common in older Amiga demos. 730:– an OpenGL animation of inter-meshing 8: 871:– an implementation of full-screen 2D 744:– an OpenGL animation similar to the " 134: 1284:"Mandriva Security Advisory MDVSA-2015:162" 682:computer, showing a user entering a simple 1106:"jwz.org blog post about the Android port" 140: 133: 122:Learn how and when to remove this message 1488: 1149:"XScreenSaver source code distribution" 1078: 1076: 935: 1128:"XScreenSaver FAQ regarding KDE/Gnome" 1084:"jwz.org blog post about the iOS port" 916:Sleep Mode: The Art of the Screensaver 635:animation showing whales and dolphins. 58:Please improve this article by adding 558:for rendering the unlock dialog box. 349:operating systems. It was created by 7: 1170:Campagna, Giovanni (21 March 2011). 965:"Debian XScreenSaver copyright list" 758:– an OpenGL animation showing 883:– another common demo effect. 834:– animations similar to the " 318:Xscreensaver "GLMatrix" Screensaver 1378:"XScreenSaver: On Toolkit Dialogs" 1034:"Debian XScreenSaver package list" 918:, a gallery exhibition curated by 444:") are each stand-alone programs. 25: 416:There is no official version for 1503: 1491: 1446: 1234:"Cinnamon-Screensaver Key Flood" 36: 1056:"XScreenSaver: Windows Version" 206:6.08 / October 10, 2023 1190:"Linux Mint 19.1 Announcement" 1012:"XScreenSaver release history" 372:operating systems running the 1: 1510:Free and open-source software 1212:"Gnome-Screensaver Key Flood" 914:XScreenSaver was featured in 748:" title sequence seen in the 700:– a number of coloured 462:. About half of them use the 60:secondary or tertiary sources 814:– simulates an analog 506:systems, which only support 466:API, and about half use the 624:Examples of hacks include: 1552: 146:XScreenSaver-demo and the 704:scroll across the screen. 641:– shows fake fatal 221: 195: 139: 710:– a 3D display of 514:1.3 API built in top of 838:" sequence seen in the 790:film opening sequences. 768:PDB (Protein Data Bank) 208:; 11 months ago 561:In recent years, some 319: 183:; 32 years ago 47:relies excessively on 678:– simulates an 565:have begun using the 432:Software Architecture 317: 297:jwz.org/xscreensaver/ 1455:at Wikimedia Commons 924:Het Nieuwe Instituut 891:interference circles 650:Blue Screen of Death 595:cinnamon-screensaver 583:cinnamon-screensaver 554:, but uses only raw 489:API built on top of 327:free and open-source 27:Screensaver software 1531:Utilities for macOS 577:was forked as both 563:Linux distributions 329:collection of 240+ 181:17 August 1992 136: 1308:. 24 November 2015 1192:. 20 December 2018 1036:. 24 December 2020 967:. 24 December 2020 712:strange attractors 422:Netscape Navigator 320: 157:Original author(s) 1536:X Window programs 1451:Media related to 1424:. 27 January 2017 1380:. 19 October 2004 1358:. 15 January 2021 1330:. 23 October 2019 1264:. 16 January 2015 1151:. 8 December 2020 1014:. 8 December 2020 992:. 8 December 2020 688:terminal emulator 647:Microsoft Windows 587:gnome-screensaver 575:gnome-screensaver 567:gnome-screensaver 436:The XScreenSaver 426:First Browser War 418:Microsoft Windows 315: 303: 302: 132: 131: 124: 106: 16:(Redirected from 1543: 1508: 1507: 1506: 1496: 1495: 1487: 1478: 1464: 1463: 1461:Official website 1450: 1434: 1433: 1431: 1429: 1418: 1412: 1411: 1409: 1407: 1396: 1390: 1389: 1387: 1385: 1374: 1368: 1367: 1365: 1363: 1346: 1340: 1339: 1337: 1335: 1324: 1318: 1317: 1315: 1313: 1302: 1296: 1295: 1293: 1291: 1280: 1274: 1273: 1271: 1269: 1258: 1252: 1251: 1249: 1247: 1242:. 22 August 2014 1230: 1224: 1223: 1221: 1219: 1208: 1202: 1201: 1199: 1197: 1186: 1180: 1179: 1167: 1161: 1160: 1158: 1156: 1145: 1139: 1138: 1136: 1134: 1124: 1118: 1117: 1115: 1113: 1102: 1096: 1095: 1093: 1091: 1080: 1071: 1070: 1068: 1066: 1052: 1046: 1045: 1043: 1041: 1030: 1024: 1023: 1021: 1019: 1008: 1002: 1001: 999: 997: 986: 977: 976: 974: 972: 961: 955: 954: 952: 950: 940: 920:Rafaël Rozendaal 816:cathode-ray tube 579:mate-screensaver 518:1.0 ("jwzgles"). 316: 299: 245:Operating system 216: 214: 209: 191: 189: 184: 144: 137: 127: 120: 116: 113: 107: 105: 64: 40: 32: 21: 1551: 1550: 1546: 1545: 1544: 1542: 1541: 1540: 1516: 1515: 1514: 1504: 1502: 1490: 1482: 1467: 1459: 1458: 1443: 1438: 1437: 1427: 1425: 1420: 1419: 1415: 1405: 1403: 1398: 1397: 1393: 1383: 1381: 1376: 1375: 1371: 1361: 1359: 1348: 1347: 1343: 1333: 1331: 1326: 1325: 1321: 1311: 1309: 1304: 1303: 1299: 1289: 1287: 1286:. 29 March 2015 1282: 1281: 1277: 1267: 1265: 1260: 1259: 1255: 1245: 1243: 1232: 1231: 1227: 1217: 1215: 1214:. 16 April 2014 1210: 1209: 1205: 1195: 1193: 1188: 1187: 1183: 1178:(Mailing list). 1169: 1168: 1164: 1154: 1152: 1147: 1146: 1142: 1132: 1130: 1126: 1125: 1121: 1111: 1109: 1104: 1103: 1099: 1089: 1087: 1082: 1081: 1074: 1064: 1062: 1054: 1053: 1049: 1039: 1037: 1032: 1031: 1027: 1017: 1015: 1010: 1009: 1005: 995: 993: 988: 987: 980: 970: 968: 963: 962: 958: 948: 946: 942: 941: 937: 932: 922:at Rotterdam's 912: 889:– moving 850:created by the 736:planetary gears 718:Flying toasters 666:Guru Meditation 643:screen of death 611: 542:In addition to 540: 434: 411:live wallpapers 374:X Window System 359: 305: 295: 217: 212: 210: 207: 187: 185: 182: 178:Initial release 151: 128: 117: 111: 108: 65: 63: 57: 53:primary sources 41: 28: 23: 22: 15: 12: 11: 5: 1549: 1547: 1539: 1538: 1533: 1528: 1518: 1517: 1513: 1512: 1500: 1480: 1479: 1469:"XScreenSaver" 1465: 1456: 1442: 1441:External links 1439: 1436: 1435: 1413: 1402:. 4 April 2015 1391: 1369: 1341: 1319: 1297: 1275: 1253: 1225: 1203: 1181: 1162: 1140: 1119: 1097: 1086:. 19 June 2012 1072: 1047: 1025: 1003: 978: 956: 934: 933: 931: 928: 911: 908: 907: 906: 900: 894: 884: 876: 866: 844: 843: 840:Matrix trilogy 829: 824:– draws 819: 809: 803: 791: 781: 771: 764:ball-and-stick 753: 750:Matrix trilogy 739: 725: 715: 705: 695: 673: 636: 610: 607: 539: 536: 535: 534: 519: 495: 494: 433: 430: 395:screen saver. 358: 355: 351:Jamie Zawinski 301: 300: 293: 289: 288: 283: 277: 276: 271: 265: 264: 247: 241: 240: 227: 223: 222: 219: 218: 205: 203: 201:Stable release 197: 196: 193: 192: 179: 175: 174: 173:Jamie Zawinski 171: 165: 164: 162:Jamie Zawinski 159: 153: 152: 145: 130: 129: 71:"XScreenSaver" 44: 42: 35: 26: 24: 14: 13: 10: 9: 6: 4: 3: 2: 1548: 1537: 1534: 1532: 1529: 1527: 1524: 1523: 1521: 1511: 1501: 1499: 1494: 1489: 1485: 1476: 1475: 1470: 1466: 1462: 1457: 1454: 1449: 1445: 1444: 1440: 1423: 1417: 1414: 1401: 1395: 1392: 1379: 1373: 1370: 1357: 1356: 1351: 1345: 1342: 1329: 1323: 1320: 1307: 1301: 1298: 1285: 1279: 1276: 1263: 1257: 1254: 1241: 1240: 1235: 1229: 1226: 1213: 1207: 1204: 1191: 1185: 1182: 1177: 1173: 1166: 1163: 1150: 1144: 1141: 1129: 1123: 1120: 1108:. 23 May 2016 1107: 1101: 1098: 1085: 1079: 1077: 1073: 1061: 1057: 1051: 1048: 1035: 1029: 1026: 1013: 1007: 1004: 991: 985: 983: 979: 966: 960: 957: 945: 939: 936: 929: 927: 925: 921: 917: 909: 904: 901: 898: 895: 892: 888: 885: 882: 881: 877: 874: 870: 867: 864: 860: 857: 856: 855: 853: 849: 841: 837: 833: 830: 827: 823: 820: 817: 813: 810: 807: 804: 801: 800: 795: 792: 789: 785: 782: 779: 778:Penrose tiles 775: 772: 769: 765: 761: 760:space-filling 757: 754: 751: 747: 743: 740: 737: 733: 729: 726: 723: 719: 716: 713: 709: 706: 703: 699: 696: 693: 689: 685: 681: 677: 674: 671: 667: 663: 659: 655: 651: 648: 644: 640: 637: 634: 630: 627: 626: 625: 622: 618: 616: 609:Display Modes 608: 606: 602: 598: 596: 592: 588: 584: 580: 576: 572: 568: 564: 559: 557: 553: 549: 545: 537: 532: 528: 524: 520: 517: 513: 509: 505: 501: 497: 496: 492: 488: 484: 480: 476: 475: 474: 471: 469: 465: 461: 456: 453: 450: 445: 443: 439: 431: 429: 427: 423: 419: 414: 412: 408: 403: 401: 396: 394: 390: 385: 383: 379: 375: 371: 368: 364: 363:free software 356: 354: 352: 348: 344: 340: 336: 332: 328: 324: 298: 294: 290: 287: 284: 282: 278: 275: 272: 270: 266: 263: 259: 255: 251: 248: 246: 242: 239: 235: 231: 228: 224: 220: 204: 202: 198: 194: 180: 176: 172: 170: 166: 163: 160: 158: 154: 149: 143: 138: 126: 123: 115: 104: 101: 97: 94: 90: 87: 83: 80: 76: 73: –  72: 68: 67:Find sources: 61: 55: 54: 50: 45:This article 43: 39: 34: 33: 30: 19: 1526:Screensavers 1472: 1453:XScreenSaver 1426:. Retrieved 1416: 1404:. Retrieved 1394: 1382:. Retrieved 1372: 1360:. Retrieved 1353: 1344: 1332:. Retrieved 1322: 1310:. Retrieved 1300: 1288:. Retrieved 1278: 1266:. Retrieved 1256: 1244:. Retrieved 1237: 1228: 1216:. Retrieved 1206: 1194:. Retrieved 1184: 1175: 1165: 1153:. Retrieved 1143: 1131:. Retrieved 1122: 1110:. Retrieved 1100: 1088:. Retrieved 1063:. Retrieved 1059: 1050: 1038:. Retrieved 1028: 1016:. Retrieved 1006: 994:. Retrieved 969:. Retrieved 959: 947:. Retrieved 938: 915: 913: 902: 896: 886: 878: 873:bump mapping 868: 858: 848:demo effects 845: 836:digital rain 831: 821: 811: 805: 797: 793: 783: 773: 755: 746:digital rain 741: 727: 724:screensaver. 717: 707: 697: 691: 675: 654:kernel panic 638: 628: 623: 619: 612: 603: 599: 571:kscreensaver 560: 541: 472: 457: 454: 446: 442:display hack 435: 415: 404: 397: 386: 360: 331:screensavers 323:XScreenSaver 322: 321: 169:Developer(s) 135:XScreenSaver 118: 109: 99: 92: 85: 78: 66: 46: 29: 18:Xscreensaver 1428:24 December 1406:24 December 1384:24 December 1334:24 December 1290:24 December 1268:24 December 1246:24 December 1218:24 December 1196:24 December 1176:gnome-shell 1155:24 December 1133:24 December 1112:24 December 1090:24 December 1065:24 December 1060:www.jwz.org 1040:24 December 1018:24 December 996:24 December 971:24 December 944:"Changelog" 672:, and more. 668:" error, a 631:– an 615:psychedelia 367:open-source 286:MIT License 274:Screensaver 112:August 2019 1520:Categories 1362:15 January 1312:18 January 930:References 863:Amiga demo 806:Webcollage 794:Sproingies 788:James Bond 722:After Dark 660:crash, an 652:, a Linux 591:Linux Mint 544:sandboxing 493:("jwxyz"). 226:Written in 213:2023-10-10 188:1992-08-17 82:newspapers 49:references 926:in 2017. 897:ShadeBobs 880:Metaballs 852:demoscene 812:XAnalogTV 784:Spotlight 601:crashes. 531:OpenGL ES 516:OpenGL ES 508:OpenGL ES 470:1.3 API. 449:sandboxed 389:Macintosh 376:(such as 370:Unix-like 357:Platforms 1474:Freecode 910:See also 756:Molecule 742:GLMatrix 702:barcodes 692:Phosphor 680:Apple II 629:Atlantis 538:Security 1484:Portals 949:4 March 832:XMatrix 826:planets 822:XPlanet 774:Penrose 698:Barcode 690:(as is 670:sad Mac 527:Android 504:Android 407:Android 382:FreeBSD 347:Android 292:Website 281:License 262:Android 211: ( 186: ( 148:XMatrix 96:scholar 1355:GitHub 1239:GitHub 903:XFlame 887:Moire2 799:Q*bert 676:Apple2 658:Darwin 633:OpenGL 512:OpenGL 468:OpenGL 460:ANSI C 438:daemon 238:OpenGL 230:ANSI C 98:  91:  84:  77:  69:  1498:Linux 869:Bumps 859:Boing 732:gears 728:Gears 684:BASIC 662:Amiga 491:Cocoa 479:macOS 393:macOS 378:Linux 339:macOS 325:is a 254:macOS 103:JSTOR 89:books 1430:2020 1408:2020 1386:2020 1364:2021 1336:2020 1314:2021 1292:2020 1270:2020 1248:2020 1220:2020 1198:2020 1157:2020 1135:2020 1114:2020 1092:2020 1067:2020 1042:2020 1020:2020 998:2020 973:2020 951:2024 734:and 708:Flow 656:, a 639:BSOD 581:and 556:Xlib 533:1.0. 525:and 502:and 481:and 380:and 365:and 361:The 345:and 335:Unix 333:for 269:Type 250:Unix 150:hack 75:news 762:or 593:'s 569:or 552:KDE 550:or 548:GTK 523:iOS 500:iOS 487:X11 483:iOS 464:X11 405:On 400:iOS 398:On 387:On 343:iOS 258:iOS 234:X11 51:to 1522:: 1471:. 1352:. 1236:. 1174:. 1075:^ 1058:. 981:^ 854:: 694:.) 428:. 413:. 341:, 337:, 260:, 256:, 252:, 236:, 232:, 62:. 1486:: 1477:. 1432:. 1410:. 1388:. 1366:. 1338:. 1316:. 1294:. 1272:. 1250:. 1222:. 1200:. 1159:. 1137:. 1116:. 1094:. 1069:. 1044:. 1022:. 1000:. 975:. 953:. 875:. 842:. 802:. 780:. 752:. 738:. 714:. 664:" 215:) 190:) 125:) 119:( 114:) 110:( 100:· 93:· 86:· 79:· 56:. 20:)

Index

Xscreensaver

references
primary sources
secondary or tertiary sources
"XScreenSaver"
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message

XMatrix
Original author(s)
Jamie Zawinski
Developer(s)
Stable release
ANSI C
X11
OpenGL
Operating system
Unix
macOS
iOS
Android
Type
Screensaver
License
MIT License

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.