Jump to content




[os] [kinda stable?] Multitasked, easy-to-use GUI OS - Update 0.6 (File browser)


25 replies to this topic

Poll: What should the OS be renamed as on launch?

What should the OS be renamed as on launch? Post a reply to suggest another name.

You cannot see the results of the poll until you have voted. Please login and cast your vote to see the results of this poll.
Vote Guests cannot vote

#1 Geforce Fan

  • Members
  • 846 posts
  • LocationMissouri, United States, America, Earth, Solar System, Milky Way, Universe 42B, Life Street, Multiverse, 4th Dimension

Posted 10 May 2015 - 05:19 AM

Posted Image

[os] some sort of stage of alpha/beta I don't even know anymore

because we all love glitchy beta OSes

[os] is an OS I've been working on off and on for a while. Originally, it was called Newshell, and was designed to be a ~200 line shell with a few bonus features. I ended up abandoning it.
Fast forward ~6 months later, and I decided I wanted to make an OS. I recalled I'd started a little project, and decided to use it as a sort of template...
...and now it's a 2,500+ line OS that has metadata, a file permissions system, a multitasking, tabbed( soon: -and-windows simultaneously) GUI oriented system with the simple command startx.

Features

  • Multitasked GUI environment
  • Terminal emulation inside the GUI
  • File explorer
  • Desktop
  • Real-world time
  • File metadata( See when files where created, modified, and accessed)
  • Permission system - Prevent untrusted apps from messing with important files!
  • Daemons - Run processes in the background with ease
  • Login system - Has admin, and guest accounts
  • Copy & paste system that doesn't overwrite the default system - Use alt V to paste!

Install


Github
To install:
pastebin run 6JU1nY50 5 update







Pictures



File browser:
Posted Image
Terminal emulation:
Posted Image
Posted Image
Posted Image


Posted Image

Commands


These are commands you can type into the terminal.

startx - Start the GUI

Time
Update

The following commands can be called without arguements to get information on input, output, and what they do:
Sudo
Medit
Stat
Df

The following programs are mostly for fun:
Pi
Wipe









License




The full license is here and is the place to refer to for actual information on licensing; but generally, you are allowed to modify & redistribute, however, you must use the same license for the code.




Contributing



If you wish to contribute to [os] then, fork the project on github and then submit a Pull Request and I will decide weather to include your code or not.
Or, if you like, you can start your own OS based off of [os]. You must use the same license if you wish to do so.


---
Have fun losing all your stuff to a hacker beta testing!

Edited by Geforce Fan, 30 August 2015 - 02:40 AM.


#2 Creator

    Mad Dash Victor

  • Members
  • 2,168 posts
  • LocationYou will never find me, muhahahahahaha

Posted 10 May 2015 - 01:23 PM

So proffesional, really. If I boot from a disk and prevent your os from starting, will I be able to see the metadata in the files?

#3 LDDestroier

  • Members
  • 1,094 posts
  • LocationACDC Town

Posted 10 May 2015 - 01:42 PM

I did ';hello world' and it crashed. Please fix, this looks nice! Also, the gui isn't starting with startx.

#4 biggest yikes

  • Members
  • 573 posts

Posted 10 May 2015 - 01:44 PM

The boot jokes are probably the best part of the OS.
"If there are motherboards, are there fatherboards too?"

#5 Geforce Fan

  • Members
  • 846 posts
  • LocationMissouri, United States, America, Earth, Solar System, Milky Way, Universe 42B, Life Street, Multiverse, 4th Dimension

Posted 10 May 2015 - 05:38 PM

I was hoping nobody would discover using ;s. They've been a neglected feature, mostly because of how much a mess osStuff.doMain() is. I'm afraid it'll be like jenga: I'll take one block out and the tower will fall.

'startx' doesn't do anything because the GUI hasn't been implemented yet.

View PostCreator, on 10 May 2015 - 01:23 PM, said:

So proffesional, really. If I boot from a disk and prevent your os from starting, will I be able to see the metadata in the files?
If you prevent the OS from starting, no. The 'stat' program needs the osStuff API to function.
You will, however, be able to see them in the .meta folder. When the OS is loaded, .metadata is read-only, and can only be modified through OS functions.
This is based off of lyqyd's standard, with my modifications.

I forgot to update the dir program. If you update(run 'sudo update'), you'll be able to do 'dir -all' to see hidden files, aswell as 'dir directory' to see files in a directory. You can even do 'dir -all directory'.
---
I havn't been able to get the ascii pointer you see in the screenshots able to be downloaded through HTTP. I've seen someone else do it, although I'm not sure how. If you enable the ascii pointers, there's a very, very odd bug that happens:
Posted Image
edit: I just realized that you can edit things like math.min. Programs are not ran in a separate environment, so you could overwrite, for say, math.min and have it always return a certain value, which could evade the protection system entirely.

Posted Image

So don't trust the protection system, as I stated several times in the OP. I really should have just ran them in separate environments in the first place, it would have made my life a whole lot simpler.

Edited by Geforce Fan, 10 May 2015 - 07:19 PM.


#6 Geforce Fan

  • Members
  • 846 posts
  • LocationMissouri, United States, America, Earth, Solar System, Milky Way, Universe 42B, Life Street, Multiverse, 4th Dimension

Posted 10 May 2015 - 11:44 PM

I've released an update. Run 'sudo update' to get it.
This patches a previous security flaw that could allow you to evade the permission system. Programs are now in a separate, sandboxed environment from the OS. This does NOT mean the permission system is safe yet.
Along with this is an improvement to the language system--all default programs now use it. You can copy the 'library/lang/en_us' file and translate it to have the OS in a different language. Then, use 'osStuff.switchLangauge"whatYouCalledIt".
Extensive testing has not been done to make sure everything looks correct. If something likes among the lines of "usrNoExist" or "noHavePerms" than tell me.

Edited by Geforce Fan, 10 May 2015 - 11:45 PM.


#7 biggest yikes

  • Members
  • 573 posts

Posted 11 May 2015 - 12:01 AM

So about these "ascii pointers", is there a way to turn them off?
EDIT: nevermind figured it out
EDIT 2: another question, what's the purpose of the console without game.toggleConsolePrint()?

Edited by Atenefyr, 11 May 2015 - 12:09 AM.


#8 Geforce Fan

  • Members
  • 846 posts
  • LocationMissouri, United States, America, Earth, Solar System, Milky Way, Universe 42B, Life Street, Multiverse, 4th Dimension

Posted 11 May 2015 - 12:09 AM

T_T sorry forgot to change them to off when I pasted executable in. Fixing.
edit: fixed.

View PostAtenefyr, on 11 May 2015 - 12:01 AM, said:

EDIT 2: another question, what's the purpose of the console without game.toggleConsolePrint()?
Well, normally it's on by default, but because "devmode" is enabled in Game-Engine, it's off--since usually when I'm working on it, I'll have the console.log open in Sublime Text. You can input commands into the console by typing them, but due to a bug, you can't see them until you press enter and run them.

Edited by Geforce Fan, 11 May 2015 - 12:13 AM.


#9 biggest yikes

  • Members
  • 573 posts

Posted 11 May 2015 - 12:17 AM

View PostGeforce Fan, on 11 May 2015 - 12:09 AM, said:

T_T sorry forgot to change them to off when I pasted executable in. Fixing.
edit: fixed.

View PostAtenefyr, on 11 May 2015 - 12:01 AM, said:

EDIT 2: another question, what's the purpose of the console without game.toggleConsolePrint()?
Well, normally it's on by default, but because "devmode" is enabled in Game-Engine, it's off--since usually when I'm working on it, I'll have the console.log open in Sublime Text. You can input commands into the console by typing them, but due to a bug, you can't see them until you press enter and run them.
Oh, okay :P
EDIT: Btw, a bug: If you don't put anything in the shell when you press enter it crashes

Edited by Atenefyr, 11 May 2015 - 12:25 AM.


#10 cyanisaac

  • Members
  • 369 posts
  • LocationSan Diego, CA

Posted 11 May 2015 - 09:21 PM

This looks like a very cool system. And it also seems like it has the ability to lock stuffs so my friend will like this a lot.

I look forward to getting home today and trying this out :D/>.

EDIT: OH MY F******* GOD YOU MADE ME LAUGH IN THE MIDDLE OF COMPUTER CLASS WHEN "IF POE WERE A TECHIE" CAME ON THE SCREEN. EVERYONE WAS LOOKING AT ME. WHYYYYY :P.

Edited by cyanisaac, 11 May 2015 - 09:27 PM.


#11 Geforce Fan

  • Members
  • 846 posts
  • LocationMissouri, United States, America, Earth, Solar System, Milky Way, Universe 42B, Life Street, Multiverse, 4th Dimension

Posted 11 May 2015 - 10:20 PM

View Postcyanisaac, on 11 May 2015 - 09:21 PM, said:

EDIT: OH MY F******* GOD YOU MADE ME LAUGH IN THE MIDDLE OF COMPUTER CLASS WHEN "IF POE WERE A TECHIE" CAME ON THE SCREEN. EVERYONE WAS LOOKING AT ME. WHYYYYY :P.
What have I done?!?!
but hey, you where the one to fool around during school, not me.

#12 Geforce Fan

  • Members
  • 846 posts
  • LocationMissouri, United States, America, Earth, Solar System, Milky Way, Universe 42B, Life Street, Multiverse, 4th Dimension

Posted 13 May 2015 - 11:35 PM

Posted Image

#13 jaredallard

  • Members
  • 124 posts
  • LocationSeattle, WA

Posted 18 May 2015 - 04:45 PM

I feel like I'm looking at a DOS clone, that will then morph into (shockingly) Windows.

Whens Visual BASIC coming, ay?

#14 Geforce Fan

  • Members
  • 846 posts
  • LocationMissouri, United States, America, Earth, Solar System, Milky Way, Universe 42B, Life Street, Multiverse, 4th Dimension

Posted 18 May 2015 - 10:40 PM

Actually, I was planning on turning this into ME. The user is an idiot, and there's no way they could learn to do anything more advanced than click a mouse! All the system files will be locked down, and the user will not be able to run anything with admistrative permissions. Furthermore, the government and hackers alike will be allowed to do anything they want to your computer </s>

The OS will likely always boot to the command prompt by default, and the command prompt will not be phased out. I'll leave an option in to 'startx' by default, however. Maybe even a GUI login screen, we'll see.

Edit: sorry for no updates, GTA V has been hogging up my free time. It's really quite beautiful on PC, at 1080p 60fps.

------------

When I add a new feature to something I've made:

BEFORE:
Posted Image
AFTER:
Posted Image
do u liek mah ms paint skilz?

Edited by Geforce Fan, 21 May 2015 - 05:13 AM.


#15 biggest yikes

  • Members
  • 573 posts

Posted 04 June 2015 - 12:00 AM

An OS amazingly built with an engine meant for games, and still no osStuff.version!?

#16 Geforce Fan

  • Members
  • 846 posts
  • LocationMissouri, United States, America, Earth, Solar System, Milky Way, Universe 42B, Life Street, Multiverse, 4th Dimension

Posted 05 June 2015 - 06:44 PM

Haha I should probably implement that.
I gotta be honest, Space Engineers has been eating up all my time. I haven't worked on this in a while.

#17 biggest yikes

  • Members
  • 573 posts

Posted 05 June 2015 - 06:52 PM

View PostGeforce Fan, on 05 June 2015 - 06:44 PM, said:

Haha I should probably implement that.
I gotta be honest, Space Engineers has been eating up all my time. I haven't worked on this in a while.
I figured I'd save it from dying

#18 Geforce Fan

  • Members
  • 846 posts
  • LocationMissouri, United States, America, Earth, Solar System, Milky Way, Universe 42B, Life Street, Multiverse, 4th Dimension

Posted 06 June 2015 - 01:54 AM

Haha, you where successful, my OS is in the back of my mind now. I think I'll pick it back up. It's sorta been the bottleneck of all of my stuff: Game-engine can't be finished until Gamedev(essentially level editor and working environment for Game-Engine) is done, which can't be finished until [os]'s GUI is done. I need OS's GUI to be done so I can use the task/menu bar on Gamedev. I'll definitely have a backwards compatability layer if you don't want to use it with [os], but I need to know what [os]'s GUI will look like in the end--I haven't experimented yet. I'm going for a Windows task bar merged with an Ubuntu-style menu at the top; so it would have a start menu and tabs, but also drop downs like "file" and "edit", all customizable by the focused app. I'll definitely be using windows 8-style smaller boxes for apps(my favorite windows 8 change, there aren't many good 8 changes), although the start menu will definitely be 7-style
----
Version 0.4 has been rolled out. Here's the release update changes c&p'd from Github:

Quote

-System now has a "time" routine that constantly runs. Fetches the time from http://chronic.herokuapp.com/, then uses string manipulation to extract the year, the day, the month, and the clock time, all separately. The system will add a second to this every second until it reaches :59 and is adding a second, which it then asks the server for the time again.
-Multitasking. Well, in the form of services. And you can't have user services. Essentially, you can do calculations in the background, but cannot write anything to the screen with them.
-Fixed the bug where you couldn't terminate... actually, it was not fixed, but rather, a broken system was scrapped and with it this bug went.
--Rather than using osStuff.g (ex. "osStuff.g"noExist") you can now use lan.(ex. "lan.noExist"). If what you're referring to doesn't exist, it'll come out as "lan.whatYouPutAfterTheDot".
-Probably lots of other stuff I don't remember
-THERE ARE STILL SEVERAL LOOPHOLES IN THE PROTECTION SYSTEM
There's also a new program called 'time'. It's 5 lines or so, and it just prints out the real world time.
Right now this is set to -6, which is my time zone. You can change it in code if you like, it's quite easy. It's toward the end of executable, about line 1000.
Huge shoutout to http://chronic.herokuapp.com/, it made my life a LOT easier. In fact, do do timezones, all I do is put "6+hours+ago" after the "utc/" and it works quite well.
In the future, I will definitely have settings for this, aswell as a daylight savings mode. These will need to be done manually, as I am not going to figure it out based on your region.
In fact, after I do that, I'll be done with time. I really don't want to get any more into it...
---
I've been planning on renaming this OS. [os] was a placeholder name until I thought of something decent. Any suggestions?
How about "Doors"...
instead of windows? :P
Here's what I'm actually considering:
  • FireflyOS - Because it has bugs! :P
  • Something "open"(Open Doors? xD)
  • FeaturedOS
  • F - I'd make the title just "F" and nothing else. Might make people curious so they'd click on it, might not.
  • FeOS - With a permission system made of iron!



---
I don't want to bump this, but development on the GUI is going great. I'm getting that point where the version on github and my development version are vastly different again, but that really just means I've made a lot of progress.
Posted Image

Edited by Geforce Fan, 28 June 2015 - 08:03 AM.


#19 DannySMc

  • Members
  • 1,808 posts
  • Location/home/dannysmc95

Posted 09 June 2015 - 08:14 PM

View PostGeforce Fan, on 05 June 2015 - 06:44 PM, said:

Haha I should probably implement that.
I gotta be honest, Space Engineers has been eating up all my time. I haven't worked on this in a while.

Such a good game!!:D

#20 Geforce Fan

  • Members
  • 846 posts
  • LocationMissouri, United States, America, Earth, Solar System, Milky Way, Universe 42B, Life Street, Multiverse, 4th Dimension

Posted 17 July 2015 - 10:37 PM

I've released an update.
Posted Image
Change notes:
+Startx command
+Fix for sudo
+Update command fixes. This is a little bugged. You'll need to launch it with sudo, and visually it totally glitches out
+Metadata now uses real-world time(or was this in the last update? idk I don't keep track lol)
Known bugs:
+You can't terminate. AGAIN.

Edit: I've added "osStuff" in the help. This goes over almost every single function in the osStuff API. It's probably pretty hard to read in the help viewer, but be glad I wrote it. It took quite a while.

Edited by Geforce Fan, 17 July 2015 - 11:56 PM.






1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users