The answer is circumstantial; there is no set time frame for when you'll have the experience necessary to work remotely. It could be one year, it could be three years- it all just depends.
Though I'd strongly discourage a fresh graduate from picking up a remote job. It is highly unlikely you have the experience or knowledge necessary to be completely, or even mostly, autonomous. This will result in coworker's having to help/teach you over the Internet, which is quite cumbersome on both parties as well as more time consuming than if someone was helping you debug in person. Additionally, a slower progress to autonomy means that you're likely to consistently be behind on project deadlines. This means that you'll be finding yourself quickly burned out in your first job from working long hours to compensate for lack of progress and many nights studying to catch up on the experience that you'd be otherwise getting from coworkers in person. Working under pressure can be a hell of a thing and such pressure is likely to be hammering on you while working alone and facing those first waves of "programmer doubt". Except in this case, instead of when you were stressing about the bad grade you'd get from a project you knew wasn't going to be turned in on time, you now get to stress about getting fired with bills creeping in because you're learning for the first time that you don't know as much about programming as your university made you think you did.
Trust me- nothing alleviates that stress more, or sets you up on a faster track to success, than a senior coworker knowing exactly what you're going through, taking you under his/her wing, and showing you the ropes. When you're working remotely, this face-to-face gained sympathy is not likely to occur. To put it curtly, I think you'll be missing out on several vital opportunities for early financial, technical, professional, and social growth.